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 linux2Type "help", "copyright", "credits" or "license" for more information.提示是2.7.5
2.进行升级
更新升级
yum install gcc gcc-c++ -y
yum install -y lrzsz
wget
tar -xzvf
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.0python更换成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 -Vpip 10.0.1 from /usr/local/python3.7.0/lib/python3.7/site-packages/pip (python 3.7)
后面即可使用pip3安装python3.7的模块