CentOS是国内公司常用的Linux发行版,但默认的Python只有2.7版本(我使用的CentOS 7.8),想使用Python3需要自己安装。
这个是最省心的,但是不够灵活,不能选择版本。
yum install python3
如果要选择特定的版本,那么我们最好从源码来进行编译。
cd /opt
wget --no-check-certificate https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
tar xzvf Python-3.7.2.tgz
yum groupinstall ‘Development tools‘
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libffi-devel
cd Python-3.7.2/
./configure --prefix=/usr/local/python3.7 --enable-optimizations
make && make install
ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7
pip install pip -U # 如果下面的config命令失败,可能是因为pip版本太低不支持config,那么需要先升级pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config list
pip3 install virtualenv
pip3 install virtualenvwrapper
vim ~/.bashrc
VIRTUALENVWRAPPER_PYTHON=/usr/local/python3.7/bin/python3.7 # 指定virtualenvwrapper执行的python版本
export WORKON_HOME=$HOME/.virtualenvs # 指定虚拟环境存放目录,.virtualenvs目录名可自拟
source /usr/local/bin/virtualenvwrapper.sh # virtualenvwrapper.sh所在目录
source ~/.bashrc
mkvirtualenv --python=/usr/bin/python3 my_env # 创建虚拟环境
workon my_env # 切换到某个虚拟环境
pip install -r requirements.txt # 安装依赖
deactivate # 退出当前虚拟环境
rmvirtualenv my_env # 删除某个虚拟环境
lsvirtualenv # 列出所有虚拟环境
cdvirtualenv # 进入到虚拟环境所在的目录
如果需要把/usr/bin/python 符号链接改为指向 /usr/bin/python3,会导致yum无法使用。
因为因为yum默认使用的python2,可以修改两个文件,/usr/libexec/urlgrabber-ext-down和/usr/bin/yum,开头的一行 #!/usr/bin/pyhon 为 #!/usr/bin/python2 让yum正常使用。
没有用过这个方法,给出官方文档供参考。
原文:https://www.cnblogs.com/jamesnpu/p/13596009.html