標籤:pytho 需要 vat 自己 script 一個 exe python版本 img
1 問題
當我們擁有兩個甚至多重專案A、B、C......,各個項目正常運行需求的python運行環境都不相同。而預設情況下,不管哪個項目,使用的都是全域的Python環境。上述情況,造成的問題就是,A、B、C等項目,只能運行一個;如果運行另一個,必須安裝與之匹配的庫版本。
2 解決思路
建立一個完全獨立的局部python環境(或叫做虛擬環境)。在此環境中,安裝所有與某個項目相匹配庫即可。總之,一個項目,使用一個虛擬環境;互相之間,沒有幹擾。
3 具體解決步驟
3.1 安裝第三方包virtualenv
當電腦裡面有多個版本的python的時,可以指定版本來進行安裝。代碼見下:
pip install virtualenv
或者
python3 -m pip install virtualenv
3.2 virtualenv的簡單應用
3.2.1 建立一個局部的隔離的虛擬環境
開啟命令提示字元,cd進入到項目myproject(必鬚根據自己的項目進行修改)所在路徑,建立項目myproject的虛擬環境。
(1) 文法
virtualenv 虛擬環境名稱
例如:virtualenv ENV
(2) 選擇性參數
(i) -p :指明Python版本建立,到時候就使用此版本的解譯器,預設是你安裝viretual 包的時候,用的python解譯器
例如:virtualenv -p C:\Python27\python.exe ENV
(ii) --system-site-packages:繼承系統的三方庫。到時候,檢索庫的時候,也會到系統的三方庫中尋找,如果不加此項,到時候只會在當前的虛擬環境中找
例如:virtualenv --system-site-packages ENV
建立完成後,會在myproject檔案夾下自動產生一個ENV檔案夾,效果見:
ENV檔案夾裡面的內容見:
3.2.2 啟用虛擬環境
(1) 文法
開啟命令提示字元,進入到虛擬環境目錄/scripts檔案夾中,輸入activate.bat
(2) 介面效果
(3) 作用效果
在環境的啟用狀態,後續所有的操作都是基於這個虛擬Python環境包的安裝和卸載。代碼的執行,比如:pip install 包名(如requests)
如果不啟用建立的虛擬環境,到時候會被安裝在全域Python環境中。啟用後,則會安裝在虛擬環境中。
3.2.3 在啟用狀態下的操作
操作三方庫、執行py檔案等等
注意:以上所有操作,均作用在被啟用的虛擬環境中
3.2.4 退出虛擬環境
(1) 文法
進入到虛擬環境目錄/scripts檔案夾中,輸入命令deactivate.bat
(2) 介面效果
(3) 作用效果
退出後,所有後續操作,又會再次的作用於全域的Python環境中
3.2.5 刪除虛擬環境
直接把專案檔目錄下的ENV檔案夾刪除即可。
更多使用命令見官網:https://virtualenv.pypa.io/en/latest/userguide/
4 補充
以後把項目給別人的時候,就可以連同虛擬環境和項目一起拷貝給別人。但是當虛擬環境非常大的時候,這種方法顯然不實際。這就需要用到另一種方法了。
即在虛擬環境中,凍結依賴需求文本,把項目和依賴需求文本給別人。
python——虛擬環境(一)