⑴ python虛擬環境—virtual environment
操作系統:ubuntu16.04
舉個例子,tensorflow(tf)是一個十分流行的python機器學習庫,你現在手裡有兩個tf項目,其中項目A需要使用 python2.7 + f1.2 ,項目B需要使用 python2.7 + tf1.6 .這兩個項目你得同時進行,怎麼辦?
愚蠢的辦法是需要運行項目A時,將python2.7中的tf1.6卸載掉,安裝tf1.2;需要運行項目B時,將python2.7中的tf1.2卸載掉,安裝tf1.6。如果是單個模塊還好,但是tf的不同版本又依賴於python中的其他已安裝模塊,而且tf1.2和tf1.6對依賴模塊有不同的版本要求,那麼轉換一次得卸載安裝好幾個模塊,是不是很爆炸?
課題組里幾個同門共用一台伺服器,每個人擁有一個系統賬戶,其中只有一個人擁有root許可權,裡面每個人都需要使用python跑程序,而且每個人對python版本以及python模塊的版本都有不同需求,很多人又沒有root許可權,如何解決?
使用python的虛擬環境可以輕松解決上面的問題!
python虛擬環境是一個隔離/獨立的python開發環境,和系統python環境可以完全隔離,互不相關,相當於多了一個python開發環境。而且你在python虛擬環境中的開發過程和使用系統python一模一樣,你可以在你創建的python虛擬環境中使用pip工具安裝任何你需要的模塊,該模塊和系統python環境完全不相關。虛擬環境的這個特點就能解決上面的問題了。
python有兩個模塊可以用於創建和管理python虛擬環境:
其中,venv模塊在python3.3以上的版本可以使用,而virtualenv在python2.7+和python3.3+都可以使用。
默認的系統python中是沒有安裝以上兩個工具的,需要使用以下命令安裝:
安裝好之後,就可以使用這兩個工具安裝python虛擬環境了。
我的系統python版本有python2.7和python3.5,虛擬環境的版本只能是系統中已有的python版本。使用virtualenv安裝虛擬環境的命令如下:
什麼參數都不指定的話,它會使用 /usr/bin/python 路徑下的python解釋器版本,即python2.7。因此會默認安裝python2.7虛擬環境, /home/yan/env 表示虛擬環境的安裝路徑。
如果你要安裝的是python3.5的虛擬環境,可以這樣:
一般情況下,上面兩條命令就夠了,這樣安裝得到的python虛擬環境和系統python環境是完全隔離的。
更多的命令選項可以在命令行中直接輸入 virtualenv 命令獲取。
venv只有python3可以使用,因此只能創建python3的虛擬環境,創建命令如下:
其中, python3 -m venv 是死命令,最後的安裝路徑自己指定。
注意: 以上兩種安裝方式在安裝虛擬環境的同時也自動安裝了pip工具。
安裝好虛擬環境之後,每次使用該虛擬環境前需要使用 source 命令 激活 它。假設前面我在 /home/yan/env3/ 目錄下安裝了python3.5的虛擬環境,現在我使用以下命令激活它:
激活之後,在命令行提示符前面會有 (env3) 的提示,表示當前你處的python虛擬環境,比如我電腦的情況:
現在你可以在激活環境中干任何事情,比如使用pip命令在你新的python虛擬環境中安裝模塊:
或者執行python腳本。
使用完該虛擬環境之後,你需要在命令行輸入 deactivate 命令來 退出 該虛擬環境:
之後就回到了正常的系統python環境中。
由於你創建該虛擬環境的目的是為了跑某個項目的程序,現在該項目做完了,不需要該虛擬環境了,你可以把該虛擬環境直接刪除,如何刪?
直接將創建虛擬環境時生成的文件夾刪掉,就這么簡單。比如我要把我剛才創建的env3虛擬環境刪除:
在刪除虛擬環境前記得一定得先退出該虛擬環境。
python虛擬環境的好處是:每個虛擬環境之間,以及虛擬環境和系統環境之間是完全隔離的,不同虛擬環境中,你可以安裝不同版本的模塊,就彷彿你可以同時擁有N多個不同的python開發環境。
唯一麻煩的一點是:每次進入某個虛擬環境之前,都要使用 source 命令激活。每次使用完,都要使用 deactivate 命令退出。
⑵ 虛擬環境怎麼安裝python3.0
安裝Python,本文以Python3.4為例。關於如何安裝Python3.4,請參考其他經驗,本文不在重復贅述。
注意:將安裝目錄添加到環境變數中,否則無法在其他目錄啟動python。安裝成功後截圖如下所示:
進入Python安裝目錄中的腳本目錄,本文目錄為C:\Python34\Scripts,截圖如下所示:
在腳本目錄下啟動命令行界面,輸入命令dir,可以看到腳本目錄下包含的工具,其中pip後面將要用到的命令,pip命令可以方便為python安裝依賴包。
使用pip命令安裝虛擬環境,命令為:pip install virtualenv,安裝過程截圖如下所示,
5
安裝後的虛擬環境在腳本目錄下,創建虛擬環境,命令為:virtualenv nv目錄下創建名為test的文件夾,test文件夾下的組成如下圖所示,
6
啟動虛擬環境,進入虛擬環境目錄在此目錄下啟動命令行界面,運行命令: .\Scripts\activate即啟動虛擬環境,啟動虛擬環境後在命令行界面下會出現虛擬環境的名稱,提示用戶已經進入虛擬環境,截圖如下所示:
⑶ python 虛擬環境與包安裝
隨著python項目越來越多很容易出現庫的混亂、污染,那麼一個隔離的虛擬環境將使不同的項目互不幹擾提高開發效率。
謹以此文作為個人安裝筆記方便以後查閱。
安裝虛擬環境庫: virtualenv
在磁碟中創建一個文件夾用於存虛擬環境安裝文件: D:\virtualenv
然後切換到該目錄下,安裝虛擬環境:
執行完命令之後,會自動生成一個 env 文件夾,裡麵包含了python所需的新解析環境
注意:
安裝完虛擬環境之後還需要激活才可以使用,進入文件夾: D:\virtualenv\env\Scripts
命令行下直接輸入:activate 或者 activate.bat
激活成功之後可以看到命令行多了一個 (env) 的前綴
關閉虛擬環境同樣需要進入文件夾: D:\virtualenv\env\Scripts
命令行下直接輸入:deactivate 或者 deactivate.bat
關閉之後可以看到命令行 (env) 的前綴取消了
為了便於在另一台電腦復刻當前python的庫環境,可以使用pip的 freeze 的選項導出當前使用的所有庫信息到 requirements.txt 中,
切換電腦時只需重新按文件安裝庫即可:
注意:
安裝時需要確認當前所屬環境的。假如是虛擬環境,則需要確保已激活。
【參考資料】