溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python底層虛擬環(huán)境virtualenv是什么

發(fā)布時間:2020-08-05 15:31:15 來源:億速云 閱讀:188 作者:小新 欄目:編程語言

Python底層虛擬環(huán)境virtualenv是什么?這個問題可能是我們日常學習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热荩屛覀円黄饋砜纯窗桑?/p>

virtualenv 是一個創(chuàng)建獨立的 Python 環(huán)境。 virtualenv 會創(chuàng)建一個文件夾,其中包含使用 Python 項目所有所需的可執(zhí)行文件。

它可以單獨使用,用于代替 Pipenv 。

通過 pip 安裝 virtualenv :

$ pip install virtualenv

測試下是否安裝完成

$ virtualenv --version

為項目創(chuàng)建一個虛擬環(huán)境:

$ cd my_project_folder
$ virtualenv my_project

virtualenv my_project 將會在當前目錄創(chuàng)建一個文件夾來存放 Python 的可執(zhí)行文件以及拷貝一份 pip 庫,這樣就能安裝其他包了。虛擬環(huán)境名字( 這里是 myproject )可以隨意,若省略名字將會把文件均放在當前目錄。

這將在你運行此命令的文件目錄下創(chuàng)建一個 Python 的副本,并將其放入名為 my_project 的文件夾中

你也可以選擇 Python 解釋器(如 python2.7 ) 。

$ virtualenv -p /usr/bin/python2.7 my_project

或者改變 ~/.bashrc 中的解釋器的全局環(huán)境變量:

$ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7

開始使用虛擬環(huán)境前,需要先激活:

$ source my_project/bin/activate

當前虛擬環(huán)境的名稱將出現(xiàn)在提示符的左側 (e.g. (my_project)Your-Computer:your_project UserName$)  ,這樣你就能了解當前激活的虛擬環(huán)境是什么。 自此,你使用 pip 安裝的任何包都會放在 my_project 文件夾,與全局 Python 安裝的包相互獨立。

安裝包的話就與往常一樣,如:

$ pip install requests

如果你在虛擬環(huán)境中暫時完成了工作,可以這樣停用它:

$ deactivate

這樣你就回到了系統(tǒng)默認的 Python 解釋器,包括安裝的庫頁會回到默認的。

要刪除一個虛擬環(huán)境,只需要刪除對應文件夾。( 以當前示例來說,執(zhí)行 rm -rf my_project) 。

然而 virtualenv 也有些不便之處,因為一段時間后你的系統(tǒng)中可能會有很多虛擬環(huán)境散落在各處,這樣會讓你忘記它們的名字或位置

運行  virtualenv 帶上選項  --no-site-packages  將不會包含已經(jīng)全局安裝的包。這樣有助于保持包列表的整潔以防萬一之后需要訪問它。
[ 這在 virtualenv 1.7 是默認的哦。 ]

為了保持環(huán)境的一致性,“凍結” 當前環(huán)境包的狀態(tài)是正確的選擇。凍結環(huán)境可以運行下面的命令:

$ pip freeze > requirements.txt

該命令將創(chuàng)建一個 requirements.txt 文件,里面包含有當前環(huán)境所有包的簡單列表及對應的版本。你可以使用 "pip list" 查看沒有安裝格式的已安裝包列表。之后,對于開發(fā)人員(或你需要重新安裝環(huán)境)來說就可以很容易的安裝相同的版本一致的包,這樣就能完全搭建出與之前一致的環(huán)境了:

$ pip install -r requirements.txt

這樣有助于在跨設備,跨部署,跨人員的情況下保證環(huán)境的一致性。

最后,記得將虛擬環(huán)境文件夾從源代碼控制中排除,也就是將其添加到 ignore 列表中 ( 詳見 Version Control Ignores).

virtualenvwrapper

virtualenvwrapper 提供一系列命令讓你更加愉快地操作虛擬環(huán)境。它還將所有虛擬環(huán)境放在一塊。

安裝方法如下 ( 請確保 virtualenv 已安裝 ) :

$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh

對于 Windows 用戶,你可以使用 virtualenvwrapper-win.

安裝方式如下 ( 請確保 virtualenv 已安裝 ) :

$ pip install virtualenvwrapper-win

在 Windows 中,設置環(huán)境變量 WORKON_HOME ,內容為 % USERPROFILE%\Envs

基本用法

創(chuàng)建虛擬環(huán)境

$ mkvirtualenv my_project

該指令將在 ~/Envs 創(chuàng)建 my_project 文件夾。

在虛擬環(huán)境下工作:

$ workon my_project

或者,你可以通過創(chuàng)建項目來創(chuàng)建虛擬環(huán)境,該項目目錄要在 $WORKON_HOME 下,當你在 workon my_project 時可以 cd 進入。

$ mkproject my_project

virtualenvwrapper 為環(huán)境名稱提供 tab 鍵補全功能。當你有很多環(huán)境又很難記住它們的名字時,該功能很有幫助。

workon 也會使你當前所在的環(huán)境失效,這樣你就可以在不同地環(huán)境間快速切換。

停止虛擬環(huán)境:

$ deactivate

刪除虛擬環(huán)境:

$ rmvirtualenv my_project

其他有用的命令

lsvirtualenv

列出所有虛擬環(huán)境

cdvirtualenv

進入當前的虛擬環(huán)境目錄,這樣你就可以瀏覽它的 site-packages ,如:

cdsitepackages

上述命令將進入虛擬環(huán)境的 site-packages 目錄.

lssitepackages

列出 site-packages 目錄下所有軟件包.

感謝各位的閱讀!看完上述內容,你們對Python底層虛擬環(huán)境virtualenv是什么大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI