[python]_ELVE_pip2和pip3如何共存

做者:匿名用戶
連接:https://www.zhihu.com/question/21653286/answer/95532074
來源:知乎
著做權歸做者全部,轉載請聯繫做者得到受權。

想學習Python3,可是暫時又離不開Python2。在Windows上如何讓它們共存呢?python


目前國內網站常常會讓你們把其中一個python.exe改個名字(嗯,我也這樣講過,在此糾正一下),這樣區分開兩個可執行文件的名字,可是這樣作有一個重大的隱患,就是修改了名字的那個python對應的pip將沒法使用。windows


官方的解法是什麼?學習


事實上這個問題幾年之前Python社區就給出了官方解決方案,只不過國內一直沒有注意到罷了。網站


咱們在安裝Python3(>=3.3)時,Python的安裝包實際上在系統中安裝了一個啓動器py.exe,默認放置在文件夾C:\Windows\下面。這個啓動器容許咱們指定使用Python2仍是Python3來運行代碼(固然前提是你已經成功安裝了Python2和Python3)。編碼


有關Python2和3的安裝,能夠參見Python部落()-->影音學堂-->《0基礎1小時,Python入門》的第一節。spa


若是你有一個Python文件叫 hello.py,那麼你能夠這樣用Python2運行它code


py -2 hello.pyip


相似的,若是你想用Python3運行它,就這樣utf-8


py -3 hello.pyget


去掉參數 -2/-3


每次運行都要加入參數-2/-3仍是比較麻煩,因此py.exe這個啓動器容許你在代碼中加入說明,代表這個文件應該是由python2解釋運行,仍是由python3解釋運行。說明的方法是在代碼文件的最開始加入一行


#! python2


或者


#! python3


分別表示該代碼文件使用Python2或者Python3解釋運行。這樣,運行的時候你的命令就能夠簡化爲


py hello.py


使用pip


當Python2和Python3同時存在於windows上時,它們對應的pip都叫pip.exe,因此不可以直接使用 pip install 命令來安裝軟件包。而是要使用啓動器py.exe來指定pip的版本。命令以下:


py -2 -m pip install XXXX


-2 仍是表示使用 Python2,-m pip 表示運行 pip 模塊,也就是運行pip命令了。若是是爲Python3安裝軟件,那麼命令相似的變成


py -3 -m pip install XXXX


#! python2 和 # coding: utf-8 哪一個寫在前面?


對於Python2用戶還有另一個困惑,Python2要在代碼文件頂部增長一行說明,纔可以在代碼中使用中文。若是指明使用的Python版本也須要在文件頂部增長一行,那哪一行應該放在第一行呢?


#! python2 須要放在第一行,編碼說明能夠放在第二行。因此文件開頭應該相似於:

#! python2
# coding: utf-8

有了這些技巧,Python2和Python3就能夠愉快地在一塊兒玩耍了~


Python標準:PEP 397 -- Python launcher for Windows

相關文章
相關標籤/搜索