Centos7下安装python3
centos7环境下安装python3有很多坑,经过不断总结经验教训,把正确的步骤记录下来,便于查询。
注意:
1.不能卸载centos7自带的python2.7,因为yum等软件依赖于python2,而python2和python3不兼容,只能在保留原版本的基础上,重新安装一个python3(本次安装版本:3.8.5)
另外,任何有关python的组件安装后,都需要在python的安装目录下运行make install
1.安装必备:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
安装完成后,需要安装组件:libffi-devel,否则在部署python项目时,会遇到错误:
ModuleNotFoundError: No module named '_ctypes'
到时再安装组件,并到python目录下再次make&&make install会很麻烦,不如提前一次性安装好。使用下面命令安装:
yum install libffi-devel -y
以上安装完成后,去下载python,本次安装版本为:3.8.5
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
下载会很慢,可用迅雷等工具下载,然后拷贝到指定目录,本次安装放置目录为:/usr/local/
然后解压到指定目录(本次安装目录为:/usr/local/python3,可以先解压再改名)
tar -zxvf Python-3.8.5.tgz
并进入目录,执行:
./configure
make&&make install
安装完成。
2.配置系统默认使用python3及保留python2
把系统默认python命令指向最新的python3
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
mv /usr/bin/pip /usr/bin/pip.bak #此语句可不执行,因为压根没有/usr/bin/pip文件
ln -s /usr/local/bin/pip3 /usr/bin/pip
把yum指向系统自带的python2.7
vi /usr/libexec/urlgrabber-ext-down
把文件的第一行usr/bin/python修改为:
#!/usr/bin/python2.7
类似:打开文件:
vi /usr/bin/yum
把首行也修改为指向相同目录:
#!/usr/bin/python2.7
以上执行完毕后,可以测试下yum是否正常:
运行:yum:
Loaded plugins: fastestmirror
You need to give some command
Usage: yum [options] COMMAND
List of Commands:
...
运行:python -V
Python 3.8.5
参考目录:centos7下安装python3.7
激活虚拟环境:source 虚拟路径目录/bin/activate
退出虚拟环境:deactivate