一千萬個為什麽

搜索

使用Anaconda而不是pip + virtualenv



我們正在使用 pip + virtualenv ,並在CI上的應用程序構建步驟中安裝我們所有的Python依賴項。這需要編譯一些包含C模塊的包,這需要時間並且需要構建服務器安裝所需的系統級“開發庫”。

根據我的理解, Anaconda 可以安裝預制軟件包,允許跳過並發癥步驟完全使構建更快,而不需要有一定的開發包。

有沒有人經歷過 pip + virtualenvconda 轉換?切換到 conda 以構建和安裝Python依賴關系的缺點和潛在問題是什麽?

轉載註明原文: 使用Anaconda而不是pip + virtualenv

一共有 1 個回答:

在我的領域(科學)Anaconda可能是最常用的Python發行版。 conda是軟件包管理員(只是為了區分)。

與pip + virtualenv相比,conda很難找到缺點。

我要說的一點是,Anaconda發行版旨在為每個用戶安裝。如果你有一個在用戶之間共享的Python環境,那麽沒有辦法像conda那樣執行 pip install --user 的等價操作(但是閱讀一個令人驚訝的解決方案......)。用戶也無法創建conda環境。

所以,如果您正在考慮單一用戶安裝,請繼續嘗試Anaconda。這是值得一試的

請註意,您可以在Anaconda中使用pip ...它們不是不兼容的。事實上,這在共享安裝中可能非常有用。

我已經設置了共享用戶conda安裝,用戶可以使用... pip install --user 安裝用戶空間包。

在共享安裝中,我看不到用戶如何創建自己的conda環境(conda具有環境)。我敢打賭conda + virtualenv會是一團糟。

請註意,conda不是Python綁定的:首先,您可以使用Python 2和Python 3進行conda安裝,conda可以很好地管理環境。但是你也可以用conda安裝Perl,R.其實這很常見。我們的Perl解釋器由Anaconda提供;)

另外我懷疑conda在Linux和Mac操作系統中可能更強大。 Windows不太受支持。對於其他操作系統,可能沒有軟件包(或者它們會受到限制)。