2021-05-12 14:32:11
Python虛擬環境(pyvenv、virtualenv)
我們為什麼需要使用虛擬環境?
Python的包(或模組)的下載儲存非常獨特;有時候可能會帶來問題。
不同系統,Python模組的安裝位置也不一樣。例如,大多數系統模組安裝在 sys.prefix 環境變數指定的目錄中,以Mac OS X為例:
使用pip或easy_install安裝的第三方模組通常安裝在 site packages 目錄:
下面舉一個實際的例子來說明使用虛擬環境的好處。
假設你有兩個Python專案-A和B,這兩個專案都需要使用同一個第三方模組-tensorflow。如果這兩個專案使用相同的tensorflow版本,也許不會有什麼問題。
但是,當A和B專案使用不同的tensorflow版本時-A使用tensorflow 0.70版本;B使用tensorflow 0.80版本。由於Python匯入模組不能區分模組版本,導致A、B不能使用tensorflow的不同版本,這在很多情況下是不能接受的。
使用虛擬環境的另一個好處是:保持開發環境的簡潔、有序。
什麼是Python虛擬環境?
Python虛擬環境可以為專案建立相互獨立的開發環境,也就是你可以為每個專案安裝各自使用依賴模組。
使用虛擬環境可以很好的解決上面A、B專案遇到的問題:為A、B專案分別建立虛擬環境,然後在各自的虛擬環境中安裝不同的tensorflow版本。
使用虛擬環境需要借助virtualenv或pyvenv,它們的使用非常簡單。
安裝virtualenv、pyvenv
如果你使用Python 2,你可以使用pip安裝virtualenv:
如果你使用Python 3,它預設安裝了pyvenv。
virtualenv和pyvenv的使用方法類似。由於pyvenv是較新的工具,本帖以它為例。
建立一個存放虛擬環境的目錄:
建立一個虛擬環境:
上面命令在當前目錄建立了env_A目錄,目錄結構:
使用建立的虛擬環境env_A:
提示符中包含:
現在你通過pip安裝的包都會安裝這個虛擬環境中;匯入(import)模組時也只能使用這個虛擬環境中的模組。
如果要退出env_A虛擬環境,執行:
虛擬環境的工作原理
主要就是操作環境變數。
Python在非虛擬環境下的路徑:
啟用虛擬環境再次檢視Python路徑:
$PATH 環境變數在啟用前後不一樣了:
你可以看看 sys.prefix 和其他Python系統環境變數。
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-04/143114.htm
相關文章