CentOS 7 更换python版本时遇到的问题

1 首先安装依赖包

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2 根据自己需求下载不同版本的Python3

wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz

我的存放目录是/usr/local/python3

mkdir /usr/local/python3

然后解压压缩包,进入该目录,安装Python3

tar -xvJf  Python-3.7.3.tar.xz
cd Python-3.7.3
./configure --prefix=/usr/local/python3
make && make install

最后创建软链接,替换默认的python2

rm /usr/bin/python
rm /usr/bin/pip
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

遇到的问题

1 ModuleNotFoundError: No module named '_ctypes’的解决办法

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

yum install libffi-devel -y

2 若在安装前移除了/usr/bin下python的文件链接依赖,此时yum无法正常使用,需要自己下载相关软件包安装

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm

3 更新python3后yum安装时报错:SyntaxError _ invalid syntax

此问题时由于更换了python解释器的版本后,yum 找不到原来的解释器造成的
解决方法:

sudo vim /usr/bin/yum
# 将原来的
#! /usr/bin/python
# 更改为
#! /usr/bin/python2

同上

sudo vim /usr/libexec/urlgrabber-ext-down
# 将原来的
#! /usr/bin/python
# 更改为
#! /usr/bin/python2

至此结束

发布了5 篇原创文章 · 获赞 3 · 访问量 472

猜你喜欢

转载自blog.csdn.net/mr_wang9992/article/details/98522961