在同一个ubunu系统上安装和配置两套python3.6和python3.8环境
本文并没有使用anacond来做这个事情。
在一个系统中使用两套python3+环境的基本要求是两者不能相互冲突,所以,我选择用系统自带的update-alternatives命令行来控制。但只控制python显然是不行的,与其配套的pip也需要管理起来才行。
我的系统自带的python版本是3.8.9,先从python官网下载一个python3.6,.9,然后解压缩,按照如下命令安装
./configure
make test
make install
默认会将python3.6.9和pip3.6安装到/usr/local/bin
而python3.8.9和pip3.8则在/usr/bin
先设置python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 0 # 将python3.8 装载在/usr/bin/python 通过别名python来管理,优先级为0
sudo update-alternatives --install /usr/bin/python python /usr/local/python3 1 # 将python3.6装载在/usr/bin/python 通过别名python来管理,优先级为1
切换版本时运行
sudo update-alternatives --config python #向系统要求切换别名为python的版本
然后输入序号选择使用哪个python版本,每次切换,系统都会把对应的python版本映射到/usr/bin/python,之后再使用python的话,就是我们切换的python版本了。
同样的方法,我们来设置pip
sudo update-alternatives --install /usr/bin/pip-sxf pip /usr/bin/pip3 0 # 将pip3.8 装载在/usr/bin/pip-sxf 通过别名pip来管理,优先级为0 sudo update-alternatives --install /usr/bin/pip-sxf pip /usr/local/pip3 1 # 将pip3.6 装载在/usr/bin/pip-sxf 通过别名pip来管理,优先级为1
切换版本时运行
sudo update-alternatives --config pip#向系统要求切换别名为pip的版本
然后使用pip-sxf来安装对应的依赖包
就这样,两套环境完全分离开了,值得注意的是,python和pip一定不要选岔了,选岔就乱套。