Centos 7 装python3.7
众所周知, centos7自带python2.7版本 ; python2.7不要卸载,因为yum依赖python2.7,但是python3以上的语法, python2不兼容, 无法执行. 所以需要自行安装3以上的版本, 这里选择3.7的稳定版本
查看Linux系统版本
命令 :
cat /etc/redhat-release
uname -a
- 查看python版本号 :
python -V
下载安装依赖包
- 下载安装依赖包; 用于重新编译源码安装
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
下载python源码包
-
下载python源码包, 然后进行解压
-
两种下载方式 : ①去官网直接下载再传到Linux中②去官网复制下载链接,直接在Linux上用wget命令下载到Linux里面
-
这里用第二种 :
wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
-
解压 :
tar -zxvf Python-3.7.12.tgz
-
进入解压文件夹
cd Python-3.7.12
./configure
-
make&&make install
-
如果执行完make&&make install之后,如果出现以下这种报错:
“ModuleNotFound:No module named '_ctypes'”
则需要执行yum install libffi-devel -y
执行完继续make&&make install
如果没报错就不需要执行
-
-
基本上python3.7就安装完成了,默认情况下,python3.7安装在/usr/local/bin/,可在
MobaXterm
中查看
配置默认使用python3.7
-
这里为了使默认python2变成python3,需要加一条软链接,并把之前的python改成python.bak:
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
-
然后默认pip也是需要修改的,可以通过
find / -name 'pip3'
找到pip3的位置,同样的,加一条软链到bin里面:-
mv /usr/bin/pip /usr/bin/pip.bak
-
不用管它,继续下一步 -
ln -s /usr/local/bin/pip3 /usr/bin/pip
配置yum
-
yum是依赖python2.7的,你把python改成了3.7了,自然不能使用了, 因为python3以上不兼容python2,所以python2不能删除, 不然yum就用不了, 此时python2.7还在你的系统里。只要修改一下yum里的相关依赖即可。
-
vi /usr/libexec/urlgrabber-ext-down
-
输入
i
进入编辑模式 -
找到一个/usr/bin/python的,后面加上2.7就可以了!也就是/usr/bin/python2.7,然后按
Esc
键退出编辑模式 再输入:wq
存盘并退出;
-
-
同样
yum
文件也是要修改的 -
输入命令:
vi /usr/bin/yum
- 输入
i
进入插入模式, 把第一行的python
改为python2.7
即可
- 输入
-
然后
Esc
+:
+wq
保存并退出, 之后用yum就不会有问题了. -
最后进行测试 :
python -V
pip -V
python
OK安装完成