[英]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-32與win-64 )或僅在特定環境中啟用pip_interop_enabled
等實驗性功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.