虛擬環境及venv和virtualenv


一、虛擬環境概述

  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

 

三、venv模塊和virtualenv工具

  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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM