簡體   English   中英

如何將 CRAN 包導出到 Conda yaml 文件?

[英]How to export CRAN packages to Conda yaml file?

我需要導出帶有多個包的 Conda R 環境。 除一個之外的所有內容都可以通過 Conda 渠道獲得,因此可以輕松添加。 問題在於 CRAN 上的 package BiDAG,但沒有任何 Conda 通道。

當我從要導出的環境中運行install.packages("BiDAG")時,package 會安裝到正確的目錄中。 但是, conda env export > env.yml無法識別它,因為它只跟蹤 conda 本身安裝的包。

我已經嘗試從 CRAN 構建

conda skeleton CRAN bidag
conda build r-bidag

但這會在 Bioconductor 甚至通過 conda 渠道提供的兩個包(r-graph 和 r-rgraphviz)上崩潰,但不再在 CRAN 上。 因此它們不被識別並且構建失敗。

有沒有辦法在 .yml 中使用這個 CRAN package BiDAG 導出 conda 環境?

供將來參考:這似乎是不可能的。 更好的解決方案是使用像 Docker 或 Singularity 這樣的容器系統,這就是我要做的。

避免在 Conda 環境中使用install.packages

通常,在 Conda 管理的 R 環境中使用install.packages會使環境復雜化,我建議不要這樣做。 正如您所發現的,Conda 無法識別這些包,因此失去了 Conda 通過環境導出提供的可重復性。 此外, install.packages經常無法找到用於所有 Conda package 構建的共享庫和構建堆棧。 這可能會導致某些包出現編譯、鏈接或其他共享庫問題。

構建r-bidag

Bioconductor 軟件包都托管在bioconda頻道上,並以bioconductor-而不是r-為前綴。 因此,應該能夠通過修改來自meta.yaml conda skeleton的 meta.yaml 以用bioconductor-graphbioconductor-graphviz替換r-graphr-graphviz來構建 package。 然后用

conda build --override-channels -c conda-forge -c bioconda -c defaults r-bidag

您可能還需要 --R 參數來指定要為其構建的--R版本。

暫無
暫無

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

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