[英]Set up conda environment for R package not on CRAN, installs to wrong location
My goal is to use this package ( https://github.com/tiagodc/TreeLS ) but it was deprecated from CRAN ( https://cran.r-project.org/web/packages/TreeLS/index.html ). 它需要舊版本的 R 但其依賴項(例如光柵 package)需要 R 3.5 或更高版本。 我考慮了兩種方法。
這是到目前為止的工作流程。
conda search -c r r
conda create -n newR351 -c conda-forge r-base=3.5.1 -y
conda install -c r rtools -y
成功創建名為 newR351 的 conda 環境,並將 r 工具安裝到 mini conda 3 中的該環境文件夾中。
安裝 R 3.5.1 的 conda 環境的位置
C:\Users\me\Miniconda3\envs\newR351
當我嘗試安裝 devtools 以便可以從 github 遠程安裝 TreeLS 時,我收到一條退出狀態為零的警告。 devtools package 安裝,但它安裝到我的 appdata 文件夾,而不是我的迷你 conda 環境。
conda install -c r devtools -y
The downloaded source packages are in
'C:\Users\me\AppData\Local\Temp\RtmpYByvp8\downloaded_packages'
如何在我的 conda 環境 newR351 上訪問 devtools? 我需要建立一個 cran 骨架嗎? 當我在這個環境中激活 R 並嘗試加載 devtools 庫時,我得到了這個。
(newR351) C:\Users\me>R
R version 3.5.1 (2018-07-02) -- "Feather Spray"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
...
>library(devtools)
Error in library(devtools) : there is no package called 'devtools'
為舊版 R package 創建特定環境的最佳實踐是什么? 其他人使用 TreeLS 嗎?
首先, devtools
沒有出現,因為 Conda 存儲庫中的 R 包通常以“ r-
”為前綴,因此安裝conda install r-devtools
應該可以解決問題。 但是,我不認為 Conda 是這里最好的策略。
在 R 版本 3.6 以下,R 包的 Conda package 覆蓋率相當差。 此外,將需要編譯到 Conda R 環境中的非 Conda 軟件包安裝是一件痛苦的事情,並且根據我的經驗,通常不能開箱即用。 另外, TreeLS
需要編譯,而且它的依賴項不是需要編譯的 Conda 包。 我會避免這種情況。
選項1是可行的。 R 允許多個安裝,並且通過操作環境變量(我認為RSTUDIO_WHICH_R
, R_LIBS
是相關的)可以在它們之間切換。
但是,如果這是我的情況,我會啟動一個 docker 容器,可能是rocker/rstudio:3.5
並將其用於該項目。 由於底層映像是 Linux,因此編譯需要一段時間,但您可以在此時對其進行版本化,然后始終可以啟動它。 這避免了必須亂搞任何系統設置,並且應該主要是直接安裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.