⭐ 我的網站: www.mengyingjie.com ⭐
linux
&&
cloud studio
&&
Ubuntu16.04
簡單解決多版本python切換以及多版本pip對應問題
1.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
2.更改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