簡體   English   中英

為什么要向 conda 環境添加通道?

[英]Why would one add a channel to a conda environment?

可以通過以下方式將通道(例如 conda-forge)添加到 conda

conda config --add channels conda-forge

為了完整起見,由於 conda 4.2 可以通過以下方式將通道(例如 conda-forge)添加到特定環境

conda config --env --add channels conda-forge

另見這篇文章)。

我想知道是否還有其他考慮因素,除了在不指定-c conda-forge情況下安裝軟件包的純粹便利性之外,為什么人們可能想要添加(或不)通道到 conda / 特定的 conda 環境?

添加頻道有什么優點/缺點嗎?

這主要是為了方便 - 即conda install命令具有足夠的表現力來指定任何通道優先級。 例如,可以在每次安裝時手動指定推薦的 Bioconda 通道優先級

conda install -n metagenomics_env --override-channels -c conda-forge -c bioconda -c defaults kraken

但是在每個環境的基礎上設置它讓我們設置並忘記

conda activate metagenomics_env
conda config --env --add channels defaults
conda config --env --add channels bioconda
conda config --env --add channels conda-forge
...
conda install -n metagenomics_env kraken

當一個項目的多樣性不利於制定單一的全球渠道優先級時,這可能會非常有用。

應該注意的一個問題是運行conda env export總是會導致導出全局通道配置。 雖然構建 ID 包含在environment.yml中,並且通常足夠不同以捕獲原始通道,但如果通道不在全局channels配置中,那么如果系統重新創建 env 則不會找到構建在他們的配置中沒有那個頻道。


其他用途

還值得強調的是, --env標志使每個配置選項都可以在特定於 env 的基礎上進行設置,而不僅僅是通道。 這對於某些邊緣情況可能很有用,例如指定子目錄約束(例如win-32win-64 )或僅在特定環境中啟用pip_interop_enabled實驗性功能。

暫無
暫無

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

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