python3 编译安装
前言:
Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如centos下的yum就是python2写的,所以默认版本不要轻易删除,否则会有一些问题,如果需要使用最新的Python3那么我们可以编译安装源码包到独立目录,这和系统默认环境之间是没有任何影响的,python3和python2两个环境并存即可
预处理
[root@python ~]# python -V //查看自带版本
Python 2.7.
[root@python ~]# mkdir python3
[root@python ~]# cd python3/ [root@python ~]# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz //目前最新版本
准备好python的源码包,接下来准备编译安装所需的依赖包;
[root@python ~]# yum -y install zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel
[root@python ~]# yum install libffi-devel -y
编译前预设
[root@python ~]# cd python3/Python-3.7./
[root@python Python-3.7.]# pwd
/root/python3/Python-3.7.
[root@python Python-3.7.]# ls
aclocal.m4 Doc m4 Parser README.rst
CODE_OF_CONDUCT.rst Grammar Mac PC setup.py
config.guess Include Makefile.pre.in PCbuild Tools
config.sub install-sh Misc Programs
configure Lib Modules pyconfig.h.in
configure.ac LICENSE Objects Python
[root@python Python-3.7.]# sed -ri 's/^#readline/readline/' Modules/Setup.dist
[root@python Python-3.7.]# sed -ri 's/^#(SSL=)/\1/' Modules/Setup.dist
[root@python Python-3.7.]# sed -ri 's/^#(_ssl)/\1/' Modules/Setup.dist
[root@python Python-3.7.]# sed -ri 's/^#([\t]*-DUSE)/\1/' Modules/Setup.dist
[root@python Python-3.7.]# sed -ri 's/^#([\t]*-L\$\(SSL\))/\1/' Modules/Setup.dist
设置完成,进行编译前的配置
[root@python Python-3.7.]# ./configure --prefix=/usr/python //看到以下结果
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
creating Modules/Setup
creating Modules/Setup.local
creating Makefile //这个可以忽略,不会影响后面的安装
If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations
开始编译
[root@python Python-3.7.]# make -j [root@python Python-3.7.]# make install
//执行最后有以下
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.
编译安装完成
[root@python Python-3.7.]# ln -s /usr//python/bin/python3 /usr/bin/python3
[root@python Python-3.7.]# which python3
/bin/python3
[root@python Python-3.7.]# python3 -V
Python 3.7.
pip 安装
[root@python Python-3.7.]# cd ..
[root@python python3]# ls
Python-3.7. Python-3.7..tgz
[root@python python3]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 绑定pip
[root@python python3]# python3 get-pip.py //使用哪个python版本,pip就会绑定在哪个版本
完成安装
[root@python ~]# ln -s /usr/python/bin/pip3 /usr/bin/pip3 [root@python ~]# which pip3
/bin/pip3
[root@python ~]# pip3 -V
pip 19.0. from /usr/python/lib/python3./site-packages/pip (python 3.7)
[root@python ~]#
python3 编译安装的更多相关文章
- Python3编译安装以及创建虚拟运行环境
一.yum安装pip# yum -y install epel-release #Centos6.8安装epel源# yum -y install python-pip手动安装pip# wget ...
- python3编译安装no module named _ssl
使用源码编译安装python3.6.7以后用pip 安装库, 出现如下问题 Retrying (Retry(total=4, connect=None, read=None, redirect=Non ...
- Python3编译安装ssl模块问题
本文以Centos系统为例 1.确保linux系统中安装了ssl-devel包 2.编译安装ssl模块到Python3中 1.查看linux系统中是否安装了ssl-devel包 # 查看命令 rpm ...
- python3编译安装
linux下配置安装python3一.首先,官网下载python3的所需版本.wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz ...
- Linux之python3编译安装
一,前言 centos7默认是装有python的,咱们先看一下 [root@glh ~ 20:18:03]#python Python 2.7.5 (default, Jul 13 2018, 13: ...
- CentOS7下编译安装Python3.7.x【亲测有效】
所有操作都在root用户下操作 下载安装包 编译安装 建立软链接 验证 安装: 更新yum: yum update 安装Python依赖: yum install openssl-devel bzip ...
- Linux 编译安装python3
编译安装python3的步骤 1.很重要,必须执行此操作,安装好编译环境,c语言也是编译后运行,需要gcc编译器golang,对代码先编译,再运行,python是直接运行yum install gcc ...
- 源代码编译安装Python3.5.2
由于没有找到Python3.5的rpm安装包,因此进行源代码编译安装 1.下载Python3.5.2 [root@seastar ~]# cd /usr/local/src [root@seastar ...
- Linux下编译安装python3
Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...
随机推荐
- CSS元素的基本应用(附加京东面试题)
ONE! 列表~ 列表分为有序列表和无序列表还有定义列表(ul和ol,dl) ul 无序列表 ul它天生自带内边距 还有一个 p 标签也是天生就自带内边距的(内边距 padding) list-st ...
- 如何使用共享网卡的NAT模式配置VMware12中的CentOS6.7的上网功能
1.首先共享网卡的NAT模式是通过win10中的VMnet8来通信的,如下双击VMnet8 2.点击[详细信息]查看VMnet8的IPV4地址为192.168.232.110,掩码为255.255.2 ...
- Maven下载Jar包(bat脚本)
1.创建一个bat文件叫download.bat 2.里面写入以下代码 call mvn -f pom.xml dependency:copy-dependencies 3.创建pom.xml文件 4 ...
- POJ 1743:Musical Theme(后缀数组+二分)
题目链接 题意 有N个音符的序列来表示一首乐曲,每个音符都是1到88范围内的整数,现在要找一个重复的主题."主题"是整个音符序列的一个子串,它需要满足如下条件: 长度至少为5个音符 ...
- XTOJ 1267:Highway(树的直径)***
http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1267 题意:给出一棵树,每条树边有权值,现在要修建n-1条边,边的权值为边 ...
- C# 中的Request对象的应用
QueryString属性:例:页面1:<a href="页面2.aspx?uanme=王华&uage=18">提交</a> ...
- WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现
WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现 一.漏洞描述 Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.Oracle 7月 ...
- Visual Studio中Es6的开发环境搭建
1.打开终端,输入初始化代码.输入代码之后会在目录中出现package.json,可以在红色下划线上写上作者名和描述(不写也可以) npm init -y 2.安装Babel转换器 npm in ...
- 嵊州D3T1 山魔 烙饼问题
嵊州D3T1 山魔 有n 座山,每座山有南北两面. 每一天,一些山的某一面(不一定相同) 会受到山魔的袭击. 但是山魔一天最多只会袭击k座山. 当每座山的每一面都被袭击过后,山魔就会离开. 那么至少要 ...
- web前端兼容性问题总结
1. HTML对象获取问题 FireFox:document.getElementById("idName");ie:document.idname或者document.get ...