1. 首页 > 专业知识 > 系统知识

RedHat(Centos)手动安装python3

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.png

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  <包名>  可查看是否安装

3.png

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共存

3.png

至此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

4.png

本文由七和博客发布,不代表七和博客立场,转载联系作者并注明出处:https://www.qiheo.com/zhishi/520.html

加载中~

联系我们

在线咨询:点击这里给我发消息

微信号:879080066

工作日:10:30-15:30,节假日休息