CentOS下Python3环境安装
注意( 默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存)
示例环境说明:本人CentOS 7.2 -腾讯云服务器
第一步、yum更新和安装依赖
A、yum更新(个人习惯,安装包之前会更新yum源)
yum update
B、安装Python 3.7所需的依赖
yum -y groupinstall Development tools
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
如图:
第二步、下载Python安装包,并解压
A、下载Python安装包到服务器。注意:到官网下载 Python 的源码安装包(一定要源码的),如下图所示
方法一:登录CentOS后台,使用wget命令下载
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
如下图:
方法二:可以先从官网下载到本地,在利用软件(我这里用FlieZilla, 也可以用 Xftp)把 Python 安装包上传到服务器上。如下图所示
B、解压Python安装包
tar -xvf Python-3.7.2.tgz
C、将解压后文件迁移至/usr/local
mv Python-3.7.2 /usr/local/
D、进入到Python目录
cd /usr/local/Python-3.7.2/
第三步、执行配置配置文件
A、添加配置:(注 这里配置自己的安装目录,接下来编译源码)
./configure --prefix=/usr/local/Python-3.7.2 --enable-shared --with-ssl CFLAGS=-fPIC
注释:这里加上--enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照上面的方式配置
B、优化选项
注意:执行完上一步后会提示执行以下的代码对Python解释器进行优化,执行该代码后,会编译安装到 /usr/local/bin/ 下,且不用添加软连接或环境变量
./configure --enable-optimizations
第四步、编译安装Python
A、编译安装Python(注: 整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python)
make && make install
第五步、验证安装Python是否成功
A、验证是否成功
python3 -V
第六步、调整Python软连接
A、查看当前Python软连接情况
cd /usr/bin/
ll python*
重要说明:
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7。我们可以把这个删除,也可以新建一个python3的软链接,只不过执行时python要改成python3,或者python脚本头部声明要改为#!/usr/bin/python3
B、备份当前Python软连接
mv /usr/bin/python /usr/bin/python.bak
C、建立新的python3软连接
ln -s /usr/local/bin/python3 /usr/bin/python
说明:由于在第三步执行了优化选项后,在/usr/local/bin/ 下 Python3 的软连接执行了 Python3.7.2 这个时候我们只需要将 /usr/bin 下的python指向 Python3就可以了。这样就建立好了,以后直接执行python命令,就相当于调用python3,实际上python3也是个软链接,链接到python3.7.0,这个多次链接其实不影响,主要是为了版本升级更加方便,不用改版本号了
第七步、调整yum
但是!!这时候,你输入一下yum,你会发现你的yum用不了了!为什么,刚刚还好使呢?主要是因为yum是依赖python2.7的,你把python改成了3.7了,自然不好使了。但是不用担心,python2.7还在你的电脑里。只要修改一下yum里的相关依赖即可。
A、修改/usr/libexec/urlgrabber-ext-down文件
vim /usr/libexec/urlgrabber-ext-down
B、修改/usr/bin/yum文件做法和上面的一样,也是改成python2.7就可以了!
vi /usr/bin/yum
最后恭喜环境配置成功!!!