想學習python3,但是暫時又離不開python2。在windows上如何讓它們共存呢?
目前國內**經常會讓大家把其中乙個python.exe改個名字(嗯,我也這樣講過,在此糾正一下)www.cppcns.com,這樣區分開兩個可執行檔案的名字,但是這樣做有乙個重大的隱患,就是修改了名字的那個python對應的pip將無法使用。
官方的解法是什麼?
事實上這個問題幾年以前python社群就給出了官方解決方案,只不過國內一直沒有注意到罷了。
我們在安裝python3(>=3.3)時,python的安裝包實際上在系統中安裝了乙個啟動器py.exe,預設放置在資料夾c:\windows\下面。這個啟動器允許我們指定使用python2還是python3來執行**(當然前提是你已經成功安裝了python2和python3)。
如果你有乙個python檔案叫 hello.py,那麼你可以這樣用python2執行它
py -2 hello.py
類似的,如果你想用python3執行它,就這樣
py -3 hello.py
每次執行都要加入引數-2/-3還是比較麻煩,所以py.exe這個啟動器允許你在**中加入說明,表明這個檔案應該是由python2解釋執行,還是由python3解釋執行。說明的方法是在**檔案的最開始加入一行
#! p程式設計客棧ython2
或者#! python3
分別表示該**檔案使用python2或者python3解釋執行。www.cppcns.com這樣,執行的時候你的命令就可以簡化為
py hello.py
使用pip
當python2和python3同時存在於windows上時,它們對應的pip都叫pip.exe,所以不能夠直接使用 pip install 命令來安裝軟體包。而是要使用啟動器py.exe來指定pip的版本。命令如下:
py -2 程式設計客棧-m pip install ***x
-2 還是表示使用 python2,-m pip 表示執行 pip 模組,也就是執行pip命令了。如果是為python3安裝軟體,那麼命令類似的變成
py -3 -m pip install ***x
#! python2 和 # coding: utf-8 哪個寫在前面?
對於python2使用者還有另外乙個困惑,python2要在**檔案頂部增加一行說明,才能夠在**中使用中文。如果指明使用的python版本也需要在檔案頂部增加一行,那哪一行應該放在第一行呢?
#! python2 需要放在第一行,編碼說明可以放在第二行。所以檔案開頭應該類似於:
#! python2
# coding: utf-8
有了這些技巧,python2和python3就可以愉快地在一起玩耍了~
python共存 多版本Python共存的配置方法
同一臺pc中,如果同時安裝python2和python3環境,會在執行python命令時出現錯誤,作業系統會找到預設的配置進行執行。怎麼樣才能讓python2和python3一起工作又互相不影響呢。但是由於工作需要,我們的個人pc上可能需要多個python版本共存,應該進行什麼樣的設定呢,本章內容就...
Linux下多個node版本共存
解壓 重新命名node v10.19.0 linux x64 bin node node10 node v10.19.0 linux x64 bin npm npm10 node v10.19.0 linux x64 bin npx npx10 修改node v10.19.0 linux x64 l...
多版本python共存
當不同版本python之間相互不能相容時,可以使用virtualenv建立不同版本python的虛擬環境 當沒有指定python直譯器時 如下 p 即為指定的python版本 將使用預設的全域性python直譯器建立虛擬環境 windows virtualenv p c python27 pytho...