溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

virtualenvwrapper中怎么構(gòu)建一個(gè)Python虛擬環(huán)境

發(fā)布時(shí)間:2021-07-10 16:46:14 來(lái)源:億速云 閱讀:203 作者:Leah 欄目:編程語(yǔ)言

本篇文章給大家分享的是有關(guān)virtualenvwrapper中怎么構(gòu)建一個(gè)Python虛擬環(huán)境,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。


Python 對(duì)管理虛擬環(huán)境的支持,已經(jīng)提供了一段時(shí)間了。Python 3.3 甚至增加了內(nèi)置的 venv 模塊,用于創(chuàng)建沒(méi)有第三方庫(kù)的環(huán)境。Python 程序員可以使用幾種不同的工具來(lái)管理他們的環(huán)境,我使用的工具叫做 virtualenvwrapper。

虛擬環(huán)境是將你的 Python 項(xiàng)目及其依賴關(guān)系與你的系統(tǒng)安裝的 Python 分離的一種方式。如果你使用的是基于 macOS 或  Linux 的操作系統(tǒng),它很可能在安裝中附帶了一個(gè) Python 版本,事實(shí)上,它很可能依賴于那個(gè)特定版本的 Python  才能正常運(yùn)行。但這是你的計(jì)算機(jī),你可能想用它來(lái)達(dá)到自己的目的。你可能需要安裝另一個(gè)版本的  Python,而不是操作系統(tǒng)提供的版本。你可能還需要安裝一些額外的庫(kù)。盡管你可以升級(jí)你的系統(tǒng)  Python,但不推薦這樣做。你也可以安裝其他庫(kù),但你必須注意不要干擾系統(tǒng)所依賴的任何東西。

虛擬環(huán)境是創(chuàng)建隔離的關(guān)鍵,你需要安全地修改不同版本的 Python 和不同組合的包。它們還允許你為不同的項(xiàng)目安裝同一庫(kù)的不同版本,這解決了在相同環(huán)境滿足所有項(xiàng)目需求這個(gè)不可能的問(wèn)題。

為什么選擇 virtualenvwrapper 而不是其他工具?簡(jiǎn)而言之:

  • 與 venv 需要在項(xiàng)目目錄內(nèi)或旁邊有一個(gè) venv 目錄不同,virtualenvwrapper 將所有環(huán)境保存在一個(gè)地方:默認(rèn)在 ~/.virtualenvs 中。

  • 它提供了用于創(chuàng)建和激活環(huán)境的命令,而且激活環(huán)境不依賴于找到正確的 activate 腳本。它只需要(從任何地方)workon projectname而不需要 source ~/Projects/flashylights-env/bin/activate。

開(kāi)始使用

首先,花點(diǎn)時(shí)間了解一下你的系統(tǒng) Python 是如何配置的,以及 pip 工具是如何工作的。

以樹(shù)莓派系統(tǒng)為例,該系統(tǒng)同時(shí)安裝了 Python 2.7 和 3.7。它還提供了單獨(dú)的 pip 實(shí)例,每個(gè)版本一個(gè):

  • 命令 python 運(yùn)行 Python 2.7,位于 /usr/bin/python。

  • 命令 python3 運(yùn)行 Python 3.7,位于 /usr/bin/python3。

  • 命令 pip 安裝 Python 2.7 的軟件包,位于 /usr/bin/pip。

  • 命令 pip3 安裝 Python 3.7 的包,位于 /usr/bin/pip3。

virtualenvwrapper中怎么構(gòu)建一個(gè)Python虛擬環(huán)境

Python commands on Raspberry Pi

在開(kāi)始使用虛擬環(huán)境之前,驗(yàn)證一下使用 python 和 pip 命令的狀態(tài)是很有用的。關(guān)于你的 pip 實(shí)例的更多信息可以通過(guò)運(yùn)行 pip debug 或 pip3 debug 命令找到。

在我運(yùn)行 Ubuntu Linux 的電腦上幾乎是相同的信息(除了它是 Python 3.8)。在我的 Macbook 上也很相似,除了唯一的系統(tǒng) Python 是 2.6,而我用 brew 安裝 Python 3.8,所以它位于 /usr/local/bin/python3(和 pip3 一起)。

安裝 virtualenvwrapper

你需要使用系統(tǒng) Python 3 的 pip 安裝 virtualenvwrapper

sudo pip3 install virtualenvwrapper

下一步是配置你的 shell 來(lái)加載 virtualenvwrapper 命令。你可以通過(guò)編輯 shell 的 RC 文件(例如 .bashrc、.bash_profile 或 .zshrc)并添加以下幾行:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenvsource /usr/local/bin/virtualenvwrapper.sh

virtualenvwrapper中怎么構(gòu)建一個(gè)Python虛擬環(huán)境

bashrc

如果你的 Python 3 位于其他地方,請(qǐng)根據(jù)你的設(shè)置修改第一行。

關(guān)閉你的終端,然后重新打開(kāi)它,這樣才能生效。第一次打開(kāi)終端時(shí),你應(yīng)該看到 virtualenvwrapper 的一些輸出。這只會(huì)發(fā)生一次,因?yàn)橐恍┠夸浭亲鳛樵O(shè)置的一部分被創(chuàng)建的。

現(xiàn)在你應(yīng)該可以輸入 mkvirtualenv --version 命令來(lái)驗(yàn)證 virtualenvwrapper 是否已經(jīng)安裝。

創(chuàng)建一個(gè)新的虛擬環(huán)境

假設(shè)你正在進(jìn)行一個(gè)名為 flashylights 的項(xiàng)目。要用這個(gè)名字創(chuàng)建一個(gè)虛擬環(huán)境,請(qǐng)運(yùn)行該命令:

mkvirtualenv flashylights

環(huán)境已經(jīng)創(chuàng)建并激活,所以你會(huì)看到 (flashlylights) 出現(xiàn)在你的提示前:

virtualenvwrapper中怎么構(gòu)建一個(gè)Python虛擬環(huán)境

Flashylights prompt

現(xiàn)在環(huán)境被激活了,事情發(fā)生了變化。python 現(xiàn)在指向一個(gè)與你之前在系統(tǒng)中識(shí)別的 Python 實(shí)例完全不同的 Python 實(shí)例。它為你的環(huán)境創(chuàng)建了一個(gè)目錄,并在其中放置了 Python 3 二進(jìn)制文件、pip 命令等的副本。輸入 which python 和 which pip 來(lái)查看它們的位置。

virtualenvwrapper中怎么構(gòu)建一個(gè)Python虛擬環(huán)境

Flashylights command

如果你現(xiàn)在運(yùn)行一個(gè) Python 程序,你可以用 python 代替 python3 來(lái)運(yùn)行,你可以用 pip 代替 pip3。你使用 pip安裝的任何包都將只安裝在這個(gè)環(huán)境中,它們不會(huì)干擾你的其他項(xiàng)目、其他環(huán)境或系統(tǒng)安裝。

要停用這個(gè)環(huán)境,運(yùn)行 deactivate 命令。要重新啟用它,運(yùn)行 workon flashylights。

你可以用 workon 或使用 lsvirtualenv 列出所有可用的環(huán)境。你可以用 rmvirtualenv flashylights 刪除一個(gè)環(huán)境。

在你的開(kāi)發(fā)流程中添加虛擬環(huán)境是一件明智的事情。根據(jù)我的經(jīng)驗(yàn),它可以防止我在系統(tǒng)范圍內(nèi)安裝我正在試驗(yàn)的庫(kù),這可能會(huì)導(dǎo)致問(wèn)題。我發(fā)現(xiàn) virtualenvwrapper 是最簡(jiǎn)單的可以讓我進(jìn)入流程的方法,并無(wú)憂無(wú)慮地管理我的項(xiàng)目環(huán)境,而不需要考慮太多,也不需要記住太多命令。

高級(jí)特性

  • 你可以在你的系統(tǒng)上安裝多個(gè) Python 版本(例如,在 Ubuntu 上使用 deadsnakes PPA),并使用該版本創(chuàng)建一個(gè)虛擬環(huán)境,例如,mkvirtualenv -p /usr/bin/python3.9 myproject。

  • 可以在進(jìn)入和離開(kāi)目錄時(shí)自動(dòng)激活、停用。

  • 你可以使用 postmkvirtualenv 鉤子在每次創(chuàng)建新環(huán)境時(shí)安裝常用工具。

以上就是virtualenvwrapper中怎么構(gòu)建一個(gè)Python虛擬環(huán)境,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

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

AI