簡體   English   中英

venv vs Anaconda 用於創建虛擬環境

[英]venv vs Anaconda for creating virtual environments

venv 和 Anaconda 用於創建虛擬環境有什么區別? 我授予兩者創建一個文件夾,該文件夾允許我 pip 將包本地安裝到項目而不是全局安裝到我的機器。

到目前為止,我的理解是 venv 更內置且重量更輕,而 Anaconda 更適合那些喜歡點擊而不是打字的人。 Anaconda also allows me to pip install packages and start up tools where venv is only about creating the local folder, and defaults to pip to do package installs.

每種方法的優點和缺點是什么? 在什么情況下每種工具都是最好的?

我承認這是一個新手問題,類似的問題已經比較了 pip 和 venv 或在 Anaconda 環境中討論了 pip。 我發現沒有關於虛擬環境的 venv 和 Anaconda 的問題。

我想指出sinoroc對這個問題的評論中的鏈接是一個足夠的答案

但是,我將添加一些我認為 Conda 文檔沒有的細節,這將幫助新用戶更多地了解 venv 和 conda 環境管理之間的差異。

Anaconda 環境更笨重但更全面的 python 環境。 anaconda 環境包含

  • python 的特定版本,即 python 3.6.5
  • 然后是該環境中的包(例如:pytorch、beautifulsoup4、pandas...)

venv 的虛擬環境管理系統依賴於您計算機的(您系統的)python。 如果您正在處理需要相同 package 的兩個不同版本的兩個不同項目,例如 tensorflow 1.1 和 2.1,那么這可能會很煩人,那么這些不同版本的 Z2C39BC19B761AC36DC0462FE6Z.D1D4 具有不同的依賴關系。 在這種情況下,為每個項目擁有兩個 anaconda 環境要容易得多。

然而,anaconda 的最大優勢在於能夠與 jupyter notebook 接口。 根據我正在從事的項目類型,我個人有一些標准的 conda 環境; 這些名稱描述了它們的用途,因此我將僅列出它們。

  • ml_pytorch_3_6_5 - 使用 pytorch 和 python 3.6.5 的機器學習環境
  • ml_pytorch_3_8_10 - 用於使用 pytorch 和 python 3.8.10 的機器學習
  • ml_tensorflow_3_6_5 - 用於使用 tensorflow 和 python 3.6.5 的機器學習
  • web_dev_apache - 用於 web 開發,我使用 apache 服務器
  • web_dev_nginx - 用於 web 開發與 nginx 服務器

此工作流程比標准 venv 管理具有優勢,因為我的機器上有多個不同版本的 python 可以用於不同的目的。 由於環境對於每個目的都是相當標准的,我可以根據我正在做的事情的性質在項目之間重用一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM