Windows上同時安裝了Python3.5.x和Python2.7.x。在Windows上如何讓它們共存呢?
我們在安裝Python3(>=3.3)時,Python的安裝包實際上在系統(tǒng)中安裝了一個啟動器py.exe,默認(rèn)放置在文件夾C:\Windows\下面。這個啟動器允許我們指定使用Python2還是Python3來運行代碼(當(dāng)然前提是你已經(jīng)成功安裝了Python2和Python3)。
在Windows上的“開始”菜單運行 cmd
py -2或-3
如果你有一個Python文件叫 hello.py,那么你可以這樣用Python2運行它
py -2 hello.py
類似的,如果你想用Python3運行它,就這樣
py -3 hello.py去掉參數(shù)-2/-3
每次運行都要加入?yún)?shù)-2/-3還是比較麻煩,所以py.exe這個啟動器允許你在代碼中加入說明,表明這個文件應(yīng)該是由python2解釋運行,還是由python3解釋運行。說明的方法是在代碼文件的最開始加入一行
#! python2
或者
#! python3
分別表示該代碼文件使用Python2或者Python3解釋運行。這樣,運行的時候你的命令就可以簡化為
py hello.py使用pip
當(dāng)Python2和Python3同時存在于windows上時,它們對應(yīng)的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版本也需要在文件頂部增加一行,那哪一行應(yīng)該放在第一行呢?
#! python2需要放在第一行,編碼說明可以放在第二行。所以文件開頭應(yīng)該類似于:
#! python2
# coding: utf-8