本人在Ubuntu上安裝了Python3,與Ubuntu自帶的Python2共存。但當我輸入指查看Python2和Python3的pip版本時,不管是pip2還是pip3,都指向了Python3 的版本,但我想pip2指向Python2,pip3指向Python3 。
$ pip -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
$ pip2 -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
$ pip3 -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
處理pip2:
which pip2 # 查看pip2位置,我的是 /usr/bin/pip2
vim /usr/bin/pip2 # 使用vim打開pip2文件
pip2 內容如下:
#!/usr/bin/python
# GENERATED BY DEBIAN
import sys
# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip._internal import main
if __name__ == '__main__':
sys.exit(main())
將以上文件中的第一行 #!/usr/bin/python 改爲 #!/usr/bin/python2 ,這不是一定的,要根據你的系統中Python的具體環境來修改。我的這裏改成python2 是因爲:
Ubuntu 自帶的Python版本是 2.7 ,它的軟鏈接名稱就是python。
後來我安裝了 Python3版本,複製並修改了原有軟鏈接python,讓其指向了python3,而且創建了新的軟鏈接python3,也指向了python3。所以,我輸入python或python3時,打開的是python3的環境;我輸入python2的時候,打開的纔是python2的環境。
上面的pip2 文件的內容也看到了,第一行指向軟鏈接是python,所以他找到的是python3的pip,只有改變第一行指向,讓他指向python2,他就可以找到 python2的pip了。