如何有效地創建和管理您的 Python 虛擬環境

如何有效地創建和管理您的 Python 虛擬環境

如果沒有虛擬環境,您將無法在 Python 中成功完成現實生活中的項目。virtualenvwrappervirtualenv等工具常用於創建和管理 Web 開發的虛擬環境,而anaconda則被數據科學家廣泛使用。

讓我們來看看您應該如何使用各種可用的管理工具來創建和管理您的 Python 虛擬環境。

虛擬環境如何工作

創建虛擬環境時,您是在指示您的機器製作額外的 Python 臨時副本。該副本與系統變量上的 Python 版本無關。如果您對此不熟悉,請查看Python 虛擬環境基礎知識

創建的虛擬環境不僅可以工作;你需要激活它。事實上,如果沒有激活,您在虛擬環境之外所做的任何事情都將無法工作。這是一種讓您的全球空間更清潔的方法。

基本原則是虛擬 A 中的依賴項對虛擬 B 不起作用---除非您專門為虛擬 B 安裝依賴項。

儘管如此,對於大多數新手甚至一些專家來說,一個常見的陷阱是在激活之前在全局空間中安裝他們的依賴項。那永遠行不通;您應該始終在依賴項安裝之前激活。

如何使用各種環境工具:優點和缺點

如前所述,Python 存在不同的環境管理工具。讓我們快速瀏覽一下它們中的每一個,包括它們是如何工作的以及它們可能存在的缺點。

1. 虛擬環境

Virtualenv 是一個很棒的管理工具,適合那些了解它的人。這很簡單,但對於初學者來說可能會令人沮喪。

要在 Windows 上使用它創建虛擬環境,請在您選擇的位置打開命令提示符窗口。鍵入mkdir [Folder]以創建一個新文件夾,用您選擇的名稱替換文本和括號。

接下來,輸入cd [Folder]移動到新目錄,然後輸入virtualenv [Environment Name]創建虛擬環境的命令。

如果您還不熟悉命令行,請查看一些您應該了解的基本命令提示符命令

接下來,通過鍵入將文件夾更改為您的虛擬環境cd [Environment Name]。進入[Environment Name] 後,輸入cd Scripts; 請務必使用大寫小號腳本。進入 Scripts 文件夾後,通過鍵入激活虛擬環境activate

使用 virtualenv 的一個主要缺點是您必須在其 Scripts 目錄中才能激活它。因此,您需要進行大量導航。例如,如果您的項目位於另一個目錄中,則您必須從環境 Scripts 文件夾導航回該目錄。這個過程可能會變得累人、混亂和低效。

為了減少這種繁忙的工作並節省時間,一個好的做法是將虛擬環境製作在您打算放置項目的同一目錄中。這樣,每個項目在其包含的文件夾中都有其特定的環境。

在嘗試調用特定於項目的虛擬環境時,這可以為您省去很多麻煩,以防各種項目有不同的虛擬環境。

看看下面的圖片,了解如何做到這一點。請注意,myprojectmyvirtual分別是項目和虛擬環境目錄。

如何有效地創建和管理您的 Python 虛擬環境

2. Virtualenvwrapper

顧名思義,virtualenvwrapper將您的所有環境包裝在一個文件夾中。與 virtualenv 不同,它默認創建該文件夾並將其命名為Envs

請注意,Windows 上virtualenvwrapper的安裝命令是pip install virtualenvwrapper-win. 但pip install virtualenvwrapper適用於 macOS。

用這個工具製作虛擬環境,打開CMD;您無需導航到項目的文件夾中。在命令行中,鍵入mkvirtualenv envname. 它為您創建了一個預先激活的虛擬環境。

下次要使用創建的環境時,一個好的做法是直接在項目目錄中打開命令提示符。您可以通過打開項目的文件夾並在面板頂部的大導航框中鍵入cmd來執行此操作。

如何有效地創建和管理您的 Python 虛擬環境

進入 CMD 後,使用該命令workon envname激活您的虛擬環境。

儘管此工具非常方便且易於使用,但當您忘記為特定項目指定的環境名稱時,就會出現問題。當您在一個 Envs 文件夾中已有數十個虛擬環境時,這很常見。

但是,如果您必須不斷嘗試每種環境以查看哪種環境有效,那就太浪費時間了。要解決此問題,請始終確保刪除 Envs 文件夾中的冗餘虛擬環境。

3. Anaconda 分佈

Anaconda 發行版是為數據科學創建的重型環境管理解決方案。雖然,根據偏好,它仍然用於 Web 開發。此工具帶有一個導航器,可讓您創建和管理您的環境。

它比手動更自動化,並作為virtualenvpip包的組合。這意味著您始終可以使用conda install來安裝依賴項而不是pip。但出於某種原因,conda 似乎在軟件包可安裝性方面受到限制。

此限制的一種解決方案是使用conda install pip命令在您的 conda 環境中安裝 pip 。在某些情況下,這可能不是必需的,因為在 conda 環境中直接調用 pip 而無需硬安裝 pip 仍然有效。

但是,不建議使用 Windows 的新手使用 conda,因為設置它需要一些技術。這超出了本討論的範圍,但為了快速了解,您需要將您的 Anaconda 發行版添加到您的系統路徑中。

請注意,Anaconda 還有一個內置的 shell,稱為 Anaconda shell,它執行類似於 CMD 的指令。您可以通過 Windows 搜索欄搜索 Anaconda prompt 來嘗試一下。

要將 conda 用作環境管理工具,您需要先安裝Anaconda 發行版。確保在開始下載之前選擇正確的操作系統。

設置 Anaconda 發行版後,打開命令提示符並鍵入 conda create envname以創建 conda 的虛擬環境。對於 Windows 用戶,conda 不能直接在命令行中使用。您必須使用conda.bat create envname.

要激活已創建的虛擬環境,請使用conda activate envname. 如果您是 Windows 用戶,請鍵入conda.bat activate envname. 當您打開 Anaconda Navigator 時,將列出所有可用環境。

虛擬環境中的版本升級和降級

如果您正在處理一個項目並且需要更改依賴項的版本,一個簡單的方法是升級到感興趣的版本。

例如,如果你想升級一個 pandas 版本,打開你的 CMD 並輸入python -m pip install --upgrade pandas==0.25. 該命令將卸載以前版本的 pandas 並安裝新請求的版本。

如果你需要降級一個版本,這幾乎是一樣的;您需要做的就是更改版本號。這樣,您始終可以在虛擬環境中切換依賴項版本,而無需遷移到新版本。

掌握 Python 中的虛擬環境

這些 Python 虛擬環境工具派上用場,易於交互。不要擔心其他人認為哪些是“最好的”;這更多是關於你的偏好。正確的工具是最適合您的項目的工具。

有關 Python 的更多信息,請查看如何使用 Python 編程和控制您的 Arduino


如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。

前 5 大徽章將增強您的 GitHub 存儲庫

前 5 大徽章將增強您的 GitHub 存儲庫

GitHub 徽章可以通過為用戶提供一種快速的方法來捕獲存儲庫指標來提高存儲庫的可讀性。徽章可以嵌入到您的 README.md 中,以向其他開發人員闡明您的項目的重要性和必要性。因此,讀者可以通過檢查附加的徽章快速了解存儲庫。

什麼是國際程序員節?今年的 3 種慶祝方式

什麼是國際程序員節?今年的 3 種慶祝方式

國際慶祝日是對社會事務、歷史日子和各自職業給予認可的好方法。國際程序員日慶祝程序員在改善日常生活方面所發揮的作用。我們生活的文明世界是程序員辛勤工作的產物。

Python String format() 方法如何工作?10個例子

Python String format() 方法如何工作?10個例子

無論是數據庫查詢還是數學運算的結果,Python 字符串格式方法都提供了一種更加動態和吸引人的方式來向用戶呈現結果。

Visual Studio 2022 與 2019:您現在應該升級嗎?解釋

Visual Studio 2022 與 2019:您現在應該升級嗎?解釋

今年早些時候,微軟向狂野的編程世界發布了 Visual Studio 2022 的預覽版。這是個好消息!這是一個非常受歡迎的 IDE,但考慮到它蓬勃發展的 DevOps 生態系統的變化速度,它需要進行調整甚至大修。

軟件度量的簡單介紹

軟件度量的簡單介紹

軟件度量是用於量化軟件各個方面的度量。這些方面可以包括開發團隊的成本、質量和效率。

如何在 Windows 10 上安裝 .NET Framework 3.5 版

如何在 Windows 10 上安裝 .NET Framework 3.5 版

作為 Windows 用戶,您可能至少遇到過 .NET Framework 這個詞。它是 Microsoft 開發的軟件框架,可讓您構建和運行 C#、C++、F# 和 Visual Basic 程序。最新的 .NET 版本是 4.8,但您的計算機可能需要舊版本的 .NET(如 .NET 3.5)才能運行某些應用程序。

Flask 或 CherryPy:您應該使用哪種 Python 框架?

Flask 或 CherryPy:您應該使用哪種 Python 框架?

如果您是 Python 開發人員,您可以從一系列可用的框架中受益匪淺。雖然有些框架最適合大型生態系統,但其他框架則專門服務於特定的發展目標。繼續閱讀以了解兩個 Python 框架 Flask 和 CherryPy 之間的基本特性、用法和區別。

如何使用 Python、C++ 和 JavaScript 查找 N 位完美立方體和正方形

如何使用 Python、C++ 和 JavaScript 查找 N 位完美立方體和正方形

許多程序員喜歡使用代碼解決棘手的數學問題。它有助於提高頭腦和提高解決問題的能力。在本文中,您將學習如何使用 Python、C++ 和 JavaScript 找到最小和最大的 n 位完美正方形和立方體。每個示例還包含幾個不同值的示例輸出。

如何將 Python 添加到 Windows PATH 變量

如何將 Python 添加到 Windows PATH 變量

從終端運行 Python 通常是不可避免的。但是,如果您是第一次在 Windows 10 上安裝 Python,則只有將其添加到 Windows PATH 環境變量中,才能通過 Windows 終端運行它。

如何使用 Python if 語句

如何使用 Python if 語句

if 語句是邏輯編程的驅動力。因此,更好地掌握 Python 是對 Python 編程技能的重要補充。

如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。