python——虛擬環境(一)
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——虛擬環境(一)