redhat(centos)自带版本是python2.7,在线上环境会需要用到python3,而且线上环境不能够连接外网,这时候需要我们手动安装python3,具体安装配置方式可以参考下列步骤。
python下载地址:https://www.python.org/ftp/python/
1、先查看系统自带python的位置在哪儿
[root@localhost ~]# whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
python2.7默认安装是在 /usr/bin目录中,切换到/usr/bin/
cd /usr/bin/
从下面的图中我们可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python3指向python3,这样两个版本的python就能共存了。
2、下载python3的包之前,要先安装相关的依赖包,用于下载编译python3:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
运行了以上命令以后,就安装了编译python3所用到的相关依赖
3、默认的centos7是没有安装pip,先添加epel扩展源
yum -y install epel-release
4、安装pip
yum install python-pip
5、用pip装wget
pip install wget
使用rpm -q <包名> 可查看是否安装
6、用wget下载python3的源码包,或者自己先下载好,上传到服务器再安装,如果网络快可以直接安装
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz 或者 wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
7、编译python3源码包,解压
tar.xz文件的解压方式 xz -d Python-3.6.8.tar.xz tar -xf Python-3.6.8.tar tgz或者tar.gz的解压方式 tar -zxvf Python-3.6.6.tgz
8、进入解压后的目录,依次执行下面命令进行手动编译,最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3.6.6目录
cd Python-3.6.6 ./configure --enable-optimizations --prefix=/usr/local/python-3.6.6 make && make install
如果遇到证书过期的问题,可以参考https://blog.csdn.net/qhd1994/article/details/116172040,配置好新的ssl后,再重新安装python
9、添加python3的软链接
ln -s /usr/local/python-3.6.6/bin/python3.6 /usr/bin/python3 ln -s /usr/local/python-3.6.6/bin/pip3.6 /usr/bin/pip3
10、测试是否安装成功了
python3 -V
此方法是用python3命令python3.6.6运行
原python还是指定的python2.7.5
可以多个python共存
至此python3安装完成!
备忘:
配置选项 sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.6.6 --enable-optimizations 为优化性能的选项,建议使用上这个参数。 --prefix为指定安装的路径 注:python3.5.6我多次尝试过了,它己经不认--with-ssl,with-zlib等选项了,我感觉这可能是一种进步,因为我如果漏装了zlib和readline的话,系统重新安装上就是了,不用再重新编译python3也能正确导入了。但注意的是ssl视系统情况不同而不同,openSUSE下ssl的话还是得重新编译且是在setup.dist中配置。 配置选项 sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib --with-readline --enable-optimizations 为最优安装,建议使用这个参数。 --prefix为指定安装的路径
若想当执行python命令时运行python3可执行以下方式(不建议此操作)
a、前边安装步骤相同--当添加软链接,将原来的链接备份(pip相同根据需要链接)
mv /usr/bin/python /usr/bin/python.bak
b、添加python3的软链接(pip相同根据需要链接)
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
c、测试是否安装成功了
python -V
d、更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用
vi /usr/bin/yum
e、把第一行的#! /usr/bin/python 修改为如下
#! /usr/bin/python2
f、还有一个地方也需要修改
vi /usr/libexec/urlgrabber-ext-down
g、把第一行的#! /usr/bin/python 修改如下
#! /usr/bin/python2
h、启动python2
python2
i、启动python3或python
python
本文由一叶发布,不代表一叶立场,转载联系作者并注明出处:https://yiyeo.com/python/97.html