[英]Can I add a channel to a specific conda environment?
我想將 conda 通道添加到特定的conda 環境,但是當我使用
conda config --add channels glotzer
該頻道現在可從我的所有 conda 環境中使用。 除了從另一個環境測試安裝之外, ~/.condarc
文件還包含以下內容:
channels:
- glotzer
- defaults
我將如何配置 conda 以便該頻道只能在特定環境中使用?
我確實在頻道文檔中發現,對於 conda >= 4.1.0,將頻道放在~/.condarc
的底部將防止添加的頻道覆蓋核心包集。
默認情況下,conda 現在更喜歡來自較高優先級頻道的包,而不是來自較低優先級頻道的任何版本。 因此,您現在可以安全地將頻道放在頻道列表的底部,以提供不在默認頻道中的附加包,並且仍然確信這些頻道不會覆蓋核心包集。
我希望這可以防止大多數問題,除非在一個環境中您確實希望通過渠道添加的包覆蓋核心包。
從.condarc
4.2 開始,支持特定.condarc
環境的.condarc
文件,您可以編寫:
conda config --env --add channels glotzer
將通道添加到活動環境的配置中。
[不確定是否在 4.2 中添加了--env
標志。 基於 conda 4.5.9 的答案]
截至 2017 年 1 月,無法向單個 conda 環境添加通道。 從 2020 年 12 月開始,現在可以如Christopher Barber 的回答中所述。
如果您想從特定頻道安裝軟件包但不想將該頻道添加到全局~/.condarc
文件,則應使用該選項從特定頻道安裝軟件包:
conda install <some-package> -c glotzer
您可以創建一個包含conda
環境規范的environment.yml
文件。 完整的文檔在這里,但基本設置如下:
name: EnvironmentName
channels:
- conda-forge
- glotzer
dependencies:
- pip:
- tensorflow
- pandas=0.22.*
要使用環境,請鍵入
conda env create -f environment.yml
conda activate EnvironmentName
要在environment.yml
更改或包更新時更新環境,
conda env update -f environment.yml
conda activate EnvironmentName
您可以使用特定頻道創建新環境:
conda create -n EnvironmentName -c ChannelName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.