[Python] python-2.7升级到python-3.7


本文总阅读量

[下载、解压python3.7]

1
2
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -xvf Python-3.7.0.tar.xz

[安装编译]

1
2
3
cd Python-3.7.0/
./configure --prefix=/usr/local/python3.7
make && make install

[安装报错]

1
2
ModuleNotFoundError: No module named '_ctypes'
make: *** [install] Error 1

解决方法:
安装libffi-devel
yum install libffi-devel
重新编译安装
make && make install

[备份旧版本的python]

1
2
3
4
5
6
7
8
9
ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 Apr 10 19:35 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 Apr 10 19:35 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Aug 4 2017 /usr/bin/python2.7
-------------------------
一般自带系统已经做好了python2.7的备份,直接替换掉python即可

如果没有备份,使用一些命令备份:
mv /usr/bin/python /usr/bin/python_old #备份旧的python

[新版本python软连接到python]

1
2
3
4
5
rm -rf /usr/bin/python #需要删除旧版的python,否则报错
ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python #添加软连接
python -V #查看python版本
2.7版本没有pip,升级到python3.7后,自带有pip,做一个pip的软连接即可
ln -s /usr/local/python3.7/bin/pip3 /usr/bin/pip

[升级完python之后,yum命令失效,需修改配置文件]

使用yum命令报以下错误:

1
2
3
4
5
 yum clean all
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax

解决 yum 不可用:

1
2
3
4
修改/usr/bin/yum配置文件
#!/usr/bin/python 改成: #!/usr/bin/python2.7
重新测试yum是否正常:
yum clean all

[升级完python之后,yum使用过程中,额外问题:]

1
2
3
4
5
6
yum install tree -y 
----------------------------------
报错:
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
---------------------------------

解决方法:

1
2
修改/usr/libexec/urlgrabber-ext-down配置文件
#!/usr/bin/python 改成: #!/usr/bin/python2.7
目录
  1. 1. [下载、解压python3.7]
  2. 2. [安装编译]
  3. 3. [安装报错]
  4. 4. [备份旧版本的python]
  5. 5. [新版本python软连接到python]
  6. 6. [升级完python之后,yum命令失效,需修改配置文件]
  7. 7. [升级完python之后,yum使用过程中,额外问题:]

Proudly powered by Hexo and Theme by Lap
本站访客数人次
© 2020 zeven0707's blog