【问题标题】:Cannot update R package from Jupyter Notebook无法从 Jupyter Notebook 更新 R 包
【发布时间】:2021-06-13 21:56:32
【问题描述】:

场景开始于我尝试安装和加载 MCMCpack 并收到以下内容:

Error: package or namespace load failed for 'MCMCpack' in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
 namespace 'Rcpp' 1.0.1 is already loaded, but >= 1.0.3 is required

但是我无法让 Rcpp 从 v1.0.1 更新。
我尝试过:

  1. install.packages("Rcpp_1.0.3.tar.gz", repos=NULL, type="source") 库(“Rcpp”)

这会导致:

***Warning message in install.packages("Rcpp_1.0.3.tar.gz", repos = NULL, type = "source"):
"installation of package 'Rcpp_1.0.3.tar.gz' had non-zero exit status"***

(也尝试了 rcpp v 1.0.6,结果相同)

  1. 从 Anaconda 提示符执行以下操作:

    conda install -c r r-rcpp

这会导致:

# All requested packages already installed.

非常感谢任何建议。

【问题讨论】:

  • 密钥是'Rcpp' 1.0.1 is already loaded, but &gt;= 1.0.3 is required。您需要启动一个没有 any 包的“普通”R 会话,然后在其中安装 Rcpp。在命令行上,这可能是R --vanilla(以及其他选择);它也可能是重新加载的会话图像——我们无法从这里判断。尽管其他人可能会,但我也无法与 Anaconda 合作。
  • 我尝试了您的建议,但不幸的是它在 Jupyter 中不起作用。它在 R 工作室中运行良好,因此它似乎与 anaconda navigator 和/或 Jupyter 有关。我对环境设置不是很熟悉,但任何其他建议都会很棒。我确实需要在 Jupyter 中启动并运行它。谢谢!

标签: r jupyter-notebook conda anaconda3


【解决方案1】:

避免使用conda r channel for R and R packages。可悲的是,它已经过时了。在撰写此评论时,该频道正在提供 R 3.6.0。

更好的方法是使用conda-forge 频道,例如

conda install -c conda-forge r-rcpp

conda-forge 频道应该提供R 4.1 和Rcpp 1.0.6

不过,最好的方法是完全放弃conda 以换取R。

【讨论】:

  • 更好的是,指定 OP 实际使用的最终包 (r-mcmcpack) 并让它们确定依赖项的正确版本。我也不同意这里关于“最佳方法”的不请自来的意见:如果有人勤奋地使用仅使用 Conda 的软件包(没有 install.packages),那么事情运行得非常好,并且它提供了一个合理的工作流程用于切换项目特定的 R 环境。
  • 做到了!谢谢。
猜你喜欢
  • 2017-07-16
  • 2020-09-16
  • 2018-02-18
  • 2020-06-08
  • 2018-07-20
  • 1970-01-01
  • 2020-05-08
  • 2023-01-23
  • 2019-11-25
相关资源
最近更新 更多