centos7 64位 python2升级python3

centos7自带的python2.7,这里介绍下如何升级为python3。


1.创建安装目录

sudo mkdir /usr/local/python3



2.从python官网下载压缩包

在这里插入图片描述
右键—>复制链接地址,为https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
进入/usr/local/python3路径,使用wget命令下载安装包

cd /usr/local/python3
wget  https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz



3.解压xxx.tar.xz文件

xz -d Python-3.6.0.tar.xz
tar -xvf Python-3.6.0.tar
或者使用单个命令
tar -xvJf  Python-3.6.0.tar.xz



4.编译并安装

cd 进入解压目录,然后
sudo ./configure --prefix=/usr/local/python3
sudo make
sudo make install

编译出现一个问题,
zipimport.ZipImportError: can’t decompress data; zlib not available,查找资料发现,zlib系列包安装不全。
参考文章
在这里插入图片描述
解决办法:

yum -y install zlib*

然后修改python安装目录下的Setup文件,/usr/local/python3/Python-3.6.0/Modules/Setup

将#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz 去掉注释,即
     zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

重新编译安装成功。

sudo make
sudo make install



5.替换python

cd /usr/bin
其中有python, python2.7, python2三个文件,其实都是指向python2.7的,这里将python备份 
mv python python.bak  
sudo ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
python -V 检查python的版本是否被正确替换掉了。



6.收尾替换工作

原则: 如果程序只能在python2.7下执行,则替换为python2.7。

  • 由于yum使用python2,替换为python3后无法正常工作,因此修改yum配置文件:
sudo vi /usr/bin/yum
将第一行指定的python版本改为python2.7:
#!/usr/bin/python改为 #!/usr/bin/python2.7
  • 修改urlgrabber配置文件(网上很多教程都漏了这一步)
sudo vi /usr/libexec/urlgrabber-ext-down
同yum,把头部的python改成python2.7

在这里插入图片描述



参考:
https://blog.csdn.net/blueheart20/article/details/70062671
https://www.jianshu.com/p/74227d7ae6a6
https://blog.csdn.net/fake_hydra/article/details/81631270
https://blog.csdn.net/u014749862/article/details/54430022

猜你喜欢

转载自blog.csdn.net/jamieblue1/article/details/89207983