我的网站: www.mengyingjie.com
- cloud studio
- &&
- Ubuntu16.04
简单解决多版本 python 切换以及多版本 pip 对应问题
python2 切换成 python
多版本 python:
更改前先查看版本号
- $ python -V
- Python 2.7.12
- $ python2 -V
- Python 2.7.12
- $ python3 -V
- Python 3.5.2
通过下面的命令看到 python3 的很多可执行文件路径, 留意 /usr/bin/python3.5, 下面需要用来建立链接
- $ whereis python3
- python3: /usr/bin/python3.5-config /usr/bin/python3.5m-config /usr/bin/python3.5m
- /usr/bin/python3 /usr/bin/python3.5 /usr/lib/python3 /usr/lib/python3.5 /etc/python3
- /etc/python3.5 /usr/local/lib/python3.5 /usr/include/python3.5m /usr/include/python3.5 /usr/share/python3 /usr/share/man/man1/python3.1.gz
查看 python 得到其可执行路径, 把它删掉
- $ which python
- /usr/bin/python
- $ sudo rm /usr/bin/python
- $ python
- ~bash: /usr/bin/python: No such file or directory
上面删去后再输入 $ python 命令就会报错, 因为系统不知该如何执行, 然后我们为它建立一个新的默认链接到 python3.5
- $ sudo ln -s /usr/bin/python3.5 /usr/bin/python
- $ python -V
- Python 3.5.2
至此就完成默认版本的修改了, 也可以用同样方法修改 python2 和 python3
更改 pip,pip2,pip3 命令对应版本
其实上面的步骤执行完后, pip 默认对应版本就已经是 python3.5 了, 而 pip3 不变仍然对应 python3, 这里要改的是 pip2 的配置文件, 否则无法再使用 pip2.
查看一下现在的 pip 和 pip3 对应版本
- $ pip -V
- pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
- $ pip3 -V
- pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
但是发现查看 pip2 却出现下面的报错, 这是因为配置文件还没改
- $ pip2 - V
- Traceback (most recent call last):
- File "/usr/bin/pip2", line 9, in <module>
- load_entry_point('pip==8.1.1', 'console_scripts', 'pip2')()
- File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
- return get_distribution(dist).load_entry_point(group, name)
- File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2568, in load_entry_point
- raise ImportError("Entry point %r not found" % ((group, name),))
- ImportError: Entry point ('console_scripts', 'pip2') not found
打开错误提示中的 "/usr/bin/pip2" 文件, 把文件中第一行的 "#!/usr/bin/python" 改为 "#!/usr/bin/python2" 即可
$ sudo vi /usr/bin/pip2
原文件内容如下:
修改前
修改后:
修改后
然后测试, pip2 成功对应回版本 python2.7
- $ pip2 -V
- pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
至此全部完成啦~
有时候会报错 , 大部分原因是因为没有加 sudo
遇到此类问题, 但看了文章还是未解决,
评论或加 QQ:781378815
来源: http://www.jianshu.com/p/4a4b6485924a