1. 程式人生 > >Python/Anaconda多版本共存的解決方案

Python/Anaconda多版本共存的解決方案

mark一下,感謝作者分享! https://www.cnblogs.com/meelo/p/6034970.html

Python/Anaconda多版本共存的解決方案

部落格中的文章均為 meelo 原創,請務必以連結形式註明 本文地址

 

雖然Python2大勢已去,眾多專案都已經支援Python3,但總有一些教程和專案只支援Python2。通常情況是計算機裡既裝著Python2,也裝了Python3。

多Python版本共存的解決方案已經有不少,簡單羅列幾種:

這些方法都有各自的不足,直接修改程式檔名仍然不能解決pip包管理器的問題,對jupyter之類的指令碼也不起作用;virtualenv和conda切換的流程稍顯複雜,需要開啟和關閉虛擬環境。

 

這裡提出一種新的解決方案,適用於Windows和Linux所有系統,適用於原生髮行版的不同版本Python2和Python3,也適用於其它發行版Anaconda2和Anaconda3。教程中以windows系統為例。

 

系統選擇哪一個Python是根據PATH系統路徑決定的。

執行一個程式時,系統從系統路徑中搜索相同檔名的可執行檔案。存在Python版本意味著有多個可執行程式的名字都是python,這時系統選擇哪一個版本根據路徑在系統路徑的順序決定。

C:\Python27;C:\Python27\Scripts;C:\Users\meelo\Anaconda3;C:\Users\meelo\Anaconda3\Scripts

如果系統路徑如上所示。Python27在前,則預設使用的版本是Python2.7。

我的解決方案正是利用了這一點。下面是乾貨時間。

 

步驟1:刪除系統路徑中其它Python版本的路徑,只留下預設使用的版本

注意Python在系統路徑中包含兩個路徑一個是根目錄C:\Python27,一個是Scripts目錄C:\Python27\Scripts

設定系統路徑可以依次執行  Win+x > 系統 > 高階系統設定 > 環境變數 > 編輯PATH

 

步驟2:在C:\Windows目錄下建立指令碼

指令碼名稱:py2.bat,指令碼名稱就是每次切換版本時所需要執行的命令。

指令碼內容

@echo off
set path=C:\Users\meelo\Anaconda2;C:\Users\meelo\Anaconda2\Scripts;%path%

 指令碼所其的作用就是臨時將需要使用的Python版本路徑加入到系統路徑中。注意是臨時改變系統路徑,因此其它的命令列(shell)並不受影響。

 指令碼中顏色為綠色的部分就是臨時需要使用Python版本的路徑。@echo off意思是在執行指令碼時,不列印輸出命令的內容。

 

步驟3:臨時切換Python版本

方法1:

py2
python -V
pip install seaborn

方法2:

py2 & python -V
py2 & pip install seaborn
py2 & jupyter

臨時切換Python就只需要在原有命令前加上 py2 & 或者單獨在之前執行命令 py2。如果選擇在命令前加上py &,也只有第1條命令需要加上,後面的命令都會自動使用切換後的Python版本了。

 

最後,直接win+R在執行裡輸入 py2 & python,以上方法仍然是生效的。

 

在研究了很多方法之後,發現我的方法還是最簡單的。有什麼問題歡迎留言。

分類: Python 標籤: python, jupyter, 版本 好文要頂 關注我 收藏該文 meelo
關注 - 3
粉絲 - 26 +加關注 0 0 currentDiggType = 0; « 上一篇: 玩轉樹莓派 - 新增定時任務
» 下一篇: IEEEXtreme 10.0 - Dog Walking

posted on 2016-11-09 20:55 meelo 閱讀(2202) 評論(0) 編輯 收藏