CentOS7 多版本 Python 共存

查看当前系统的 Python 版本:

python -V
pip -V

编译环境准备

准备一下编译环境,防止出现安装错误:

yum install gcc make openssl-devel zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel expat-devel gdbm-devel tk-devel libffi-devel

下载 Python3 安装包

这里举例下载的版本是Python3.7.3,也可以自行去官网下载其它版本的包:Python 官网 > Python 各版本安装包

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

下载后,按照以下步骤进行安装:

# 将下载的安装包进行解压缩
tar Jxvf Python-3.7.3.tar.xz
# 进入解压缩出来的文件目录
cd Python-3.7.3
# 进行编译
./configure --enable-optimizations
# 安装编译后的 python
make altinstall

建立 Python3 环境的软链接

这里有两种软连接的创建方式:

一种是保持系统自带的 Python 版本,用python3的指令使用所安装版本的 Python。

ln -s /usr/local/bin/python3.7 /usr/bin/python3
ln -s /usr/local/bin/pip3.7 /usr/bin/pip3
# 检验 Python3 及 pip3 版本
python3 -V
pip3 -V

另一种是替代系统自带的 Python 版本的指令。

# 备份原 python 指令链接
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3.7 /usr/bin/python
# 备份原 pip 指令链接
mv /usr/bin/pip /usr/bin/pip.bak
ln -s /usr/local/bin/pip3.7 /usr/bin/pip
# 检验 Python 及 pip 对应的版本
python -V
pip -V

第二种替代系统自带 Python 版本指令的操作,会存在一个问题,无法执行yum指令,所以需要修改 yum 指令文件,将头文件改为python2.7,这样 yum 指令又可以正常执行了:

# 使用 vim 分别编辑两个文件的头
vi /usr/libexec/urlgrabber-ext-down
vi /usr/bin/yum

python改为python2.7

#!/usr/bin/python2.7

创建虚拟环境

安装 virtualenv

pip install virtualenv

创建一个用来存放不受干扰的 Python 环境,比如test_python2

virtualenv test_python2
# 进入创建好的 Python 环境
source test_python2/bin/activate

如果要在默认环境下单独创建一个 Python3 的环境,比如test_python3,就需要在创建的命令后面加上参数:

virtualenv --python=/usr/local/bin/python3 test_python3
# 进入创建好的 Python3 环境
source test_python3/bin/activate
# 检查 Python 版本
python -V
# 退出虚拟环境
deactivate

如果每次都输入一长串命令才能进入虚拟环境,还是挺不方便的。因此,可以建立一个快捷键:

# 用 vi 编辑系统配置文件
vi ~/.bashrc
# 用 vv2 指令快速创建默认的 python 环境,vv3 指令快速创建 Python3 环境
alias vv2="virtualenv"
alias vv3="virtualenv --python=/usr/local/bin/python3"
# 用 py3 指令快速进入创建好的某个 python 环境
alias py3="source ~/test_python3/bin/activate"
# 用 qvv 指令快速退出虚拟环境
alias qvv="deactivate"
# 然后 :wq 保存退出并让配置生效
source .bashrc

然后分别使用vv2 环境名vv3 环境名操作试试。

如果要删除虚拟环境,只需退出虚拟环境后,删除对应的虚拟环境目录即可。

本作品采用 “知识共享署名-非商业性使用 4.0 国际许可协议” 进行许可。
免责声明:本站文章除特殊说明为原创禁转外,您可以自由的转载和修改,但请务必注明文章来源并不可用于商业目的。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇