虛擬環境及venv和virtualenv

2022-06-06 02:00:13 字數 1613 閱讀 5774

python應用程式通常會使用不在標準庫內的軟體包和模組。應用程式有時需要特定版本的庫,修復特定的錯誤,或者可以使用庫的過時版本的介面編寫應用程式。

這說明乙個python安裝可能無法滿足每個應用程式的要求。例如:應用程式a需要特定模組的1.0版本但應用程式b需要2.0版本,則需求存在衝突,安裝版本1.0或2.0將導致某乙個應用程式無法執行。

這個問題的解決方案是建立乙個虛擬環境,乙個目錄樹,其中安裝有特定python版本,以及其他包。

不同的應用將可以使用不同的虛擬環境。就可以解決需求相衝突的例子。

用於建立和管理虛擬環境的模組稱為venv。venv通常會安裝你可用的最新版本的 python。若系統上有多個版本的python,可以通過執行 python3 或您想要的任何版本來指定python版本。

1、建立虛擬環境

如專案名叫tutorial,建立對應的資料夾然後切換到根目錄:cd tutorial。

如果使用venv,使用命令:$ python -m venv tutorial-env

其中tutorial-env是虛擬環境的名字,也作為建立的虛擬環境資料夾名稱,可以自由修改。如果tutorial-env目錄不存在,它將為你建立乙個,並在其中建立包含python直譯器,標準庫和各種支援檔案的副本的目錄。

注意:需要tutorial-env的虛擬環境資料夾名稱加入 .gitignore檔案以便讓git忽略。

虛擬環境的常用目錄位置是 .venv。這個名稱通常會令該目錄在你的終端中保持隱藏,從而避免需要對所在目錄進行額外解釋的一般名稱。它還能防止與某些工具所支援的 .env 環境變數定義檔案發生衝突。

如果使用virtualenv,則使用下面的命令:$ virtualenv snow-venv

2、啟用虛擬環境

通過執行對應的啟用指令碼來啟用虛擬環境,不同作業系統的啟用命令(啟用指令碼及路徑)有一點不同。

windows(cmd.exe):$ tutorial-env\scripts\activate.bat

linux和macos(bash/zsh):$ source tutorial-env/bin/activate

activate.bat這個指令碼是為bash shell編寫的。如果你使用csh或fish shell,你應該改用activate.csh 或activate.fish指令碼。

啟用虛擬環境以後,命令列提示符前會顯示當前虛擬環境的名字,並修改環境以使python命令所執行的將是已安裝的特定python版本。

退出虛擬環境:deactivate

virtualenv:python虛擬環境管理工具。

venv:python標準庫內置的虛擬環境管理工具,python 3.3加入,python 3.5開始作為管理虛擬環境的推薦工具,用法類似virtualenv,唯一不同的是建立虛擬環境的方式。

python 2.x時,建立虛擬環境需要安裝第三方的virtualenv,但python 3.3之後,標準庫里內建了venv模組,可以用來建立虛擬環境。

如果你使用python 3.3及以上版本,推薦使用標準庫內置的venv 模組替代virtualenv。

如果你使用python 2,就只能選擇virtualenv,你需要額外安裝它。pip install virtualenv

Python的虛擬環境 venv

pip python install package,python三方包管理工具。安裝python直譯器時已自帶。目錄已新增到環境變數中。包管理工具 包是別人寫好的 經常有這種情況,比如爬蟲框架功能的a包,裡面引用了負責解析頁面的b包,b包引用了更加基礎底層的c包。包關係成樹狀引用。b包依賴c包。直...

Sublime 虛擬環境(Venv)設定

這裡主要介紹,在使用 python 虛擬環境 venv 時,sublimetext 該怎麼設定 在我們建立的虛擬環境後,如果不對sublime進行設定的話,執行程式就會出錯,因為,你的 package 都安裝到了虛擬環境裡了,而 sublime 預設的 build,是在真實環境中的,python 資...

Python3虛擬環境 venv

python3.3以上的版本通過venv模組原生支援虛擬環境,可以代替之前的virtualenv。該venv模組提供了建立輕量級 虛擬環境 提供與系統python的隔離支援。每乙個虛擬環境都有其自己的python二進位制 允許有不同的python版本創作環境 並且可以擁有自己獨立的一套python包...