centos 由2.7 升级为3.7

1.确认当前版本

[test@iZuf60gzvn9k0h3fuhr6y5Z log]$ python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

提示是2.7.5

 

2.进行升级

更新升级

yum install gcc gcc-c++ -y

 yum install -y lrzsz

 

wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

tar -xzvf  Python-3.7.0.tgz

3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。

    yum install libffi-devel -y

编译

./configure --prefix=/usr/local/python3.7.0/

./configure  --prefix=/usr/local/python3.7.0/ --with-zlib=/usr/local/python3.7.0/include       安装zlib 指定路径

./configure --prefix=/usr/local/python3.7.0/ --with-zlib-dir=/usr/local/python3.7.0/lib

make

make install

此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字

mv /usr/bin/python /usr/bin/python_old2

再建立新版本python的链接

ln -s /usr/local/python3.7.0/bin/python3 /usr/bin/python

[root@iZuf60gzvn9k0h3fuhr6y5Z ~]# python -V
Python 3.7.0

python更换成3.7.0

 ----

解决升级Python后yum,Firewall等不能用的问题

1.yum 

vi /user/bin/yum 编辑yum的执行文件,更改首行的/usr/bin/python 为上面重命名的名字或/usr/bin/目录下指向python_old2的名字,之后再运行yum就正常了

2.运行yum安装其他软件可能出现以下错误,这也是因为Python版本问题

vi /usr/libexec/urlgrabber-ext-down 修改第一行的Python为重命名的名字(指向python2.7的)python_old2

3.防火墙无法启动

/usr/bin/firewall-cmd文件,顺便将同目录下的firewall-offline-cmd 

/usr/sbin/firewalld 

除此之外还有一些其他文件使用的Python,可以使用grep命令查看哪些文件使用了Python解释器,根据具体情况修改。例如查看/usr/bin目录下的文件

 

解决pip 安装模块到python2.7问题

方法1

指定安装路径  /usr/local/python3.7.0/lib/python3.7/site-packages/

pip install -t /usr/local/python3.7.0/lib/python3.7/site-packages/ requests

方法2 推荐

./usr/local/python3.7.0/bin/pip3    pip3的目录

链接使用pip3

ln -s    /usr/local/python3.7.0/bin/pip3    /bin/pip3

[test@iZuf60gzvn9k0h3fuhr6y5Z ~]$ pip3 -V
pip 10.0.1 from /usr/local/python3.7.0/lib/python3.7/site-packages/pip (python 3.7)

后面即可使用pip3安装python3.7的模块

posted @ 2018-08-03 10:24  myself_think  阅读(201)  评论(0)    收藏  举报