簡體   English   中英

conda 中的新環境能否從基礎環境繼承特定包

[英]Can a new env in conda inherit specific packages from base environment

當我為我使用 pytorch 的項目創建 conda 環境時,由於我所在地區的連接速度較慢(有時需要數小時),torch 和 torchvision 包需要花費一些時間來安裝。

因此,為了快速開始我的項目,我沒有創建新的環境,我只是使用基礎環境中的包。 我知道這很快就會變得毛茸茸。

這就是為什么我想知道是否有辦法讓新創建的環境從基礎環境中繼承特定的包而無需重新安裝。

ps:我知道 conda 利用硬鏈接,但我不明白在這種情況下如何使用它。 我感謝您的幫助。

克隆

在新環境中僅使用已安裝包的最簡單方法是克隆現有環境 ( conda create --clone foo --name bar )。 通常,我不建議克隆base環境,因為它包括 Conda 和其他僅在 base 中需要的基礎設施。

在工作流級別,考慮創建一些可以為不同項目克隆的模板環境可能是有利的。

YAML 釋義

但是,OP 提到只需要特定的包。 我仍然會為此創建一個新環境,但從使用導出的 YAML 的現有環境開始。

conda env export -n foo > bar.yaml

編輯bar.yaml以刪除您不需要的任何包(同樣,如果foo == base ,刪除conda ),然后使用創建新環境

conda env create -f bar.yaml --name bar

這將確保完全使用以前環境中的包。

總的來說,如果您使用克隆和從 YAML 個文件(包括構建規范)重新創建,那么 Conda 將最大限度地減少下載和物理磁盤使用。

暫無
暫無

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

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