1、需求
大家都知道 python 有两个大版本,分别为 python2.x 和 python3.x 。两者之间不能互相兼容。例如:
python3.x 中 print 函数:必须后跟括号( print() ),而 python2.x 是可以不加的。
现在一般都会使用 python3.x 。但是由于历史原因,有时,2.x 和 3.x 必须共存。比如有些 linux 基础环境可能依赖 python2.x。
那么 Linux 环境下,如何让 python2.x 和 python3.x 共存,而又不冲突,又能分别调用呢?
2、解决
现假设 Linux 存在 python2.7 版本(/usr/bin/python2.7),而我又通过 anaconda3 安装了 python3.6(/usr/local/anaconda3/bin/python3.6,且将/usr/local/anaconda3/bin/ 加入了环境变量)。
现在,我想通过命令 python2 调用 python2.7,通过 python 和 python3 都能调用 python3.6
首先,通过 which 命令找到 python2.7 路径:
which python
结果如下:
删除原来 python 链接:
rm -f /usr/bin/python
建立 python2 链接,指向 python2.7
ln -s /usr/bin/python2.7 /usr/bin/python2
建立 python3 链接指向 python3.6
ln -s /usr/local/anaconda3/bin/python /usr/bin/python3
建立 python 链接指向 python3
ln -s /usr/bin/python3 /usr/bin/python
现在可以试下:
python2 -V
结果:
python3 -V
结果:
python -V
结果:
OK,enjoy !