【发布时间】:2019-12-02 21:04:13
【问题描述】:
我想在我的 python 代码中导入库,所以我可以使用 Python 连接我的 Rcode。我已经使用 pip pip rpy2 install 安装了 rpy2 但是,我在我的 python 会话中收到错误“ValueError: r_home is None. Try python -m rpy2.situation”。
系统:
MacOS:莫哈韦 10.14.5
Python:3.7.4(使用 eclipse & pydev 构建脚本)
R:3.5.3
我在终端 export R_HOME=$(R RHOME) 中运行此代码来设置我的 R_HOME 变量。然后检查我运行python -m ryp2.situation 来检查我的输出,看看是否正确添加了 R_HOME 变量。
Python 版本: 3.7.4(默认,2019 年 7 月 9 日,18:13:23)[Clang 10.0.1 (clang-1001.0.46.4)] 寻找 R 的 HOME:
Environment variable R_HOME: /Library/Frameworks/R.framework/Resources Calling `R RHOME`: /Library/Frameworks/R.framework/Resources InstallPath in the registry: *** Only available on Windows *** R version: In the PATH: R version 3.5.3 (2019-03-11) -- "Great Truth" Loading R library from rpy2: OK Additional directories to load R packages from: None
所以现在看起来我将 R_HOME 作为变量,但在执行我的 python 代码时仍然遇到同样的错误。我尝试在终端中卸载 rpy2 并按照this post 中的一些逻辑使用终端重新安装。我被卡住了,不知道接下来应该尝试什么,因此感谢您的帮助。
这是我要运行的python代码:
import rpy2.robjects as robjects
import rpy2.robjects.packages as rpackages
from rpy2.robjects.vectors import StrVector
packageNames = ('pdftools', 'dplyr', 'stringi', 'knitr', 'markdown', 'rmarkdown')
utils = rpackages.importr('utils')
utils.chooseCRANmirror(ind=1)
packnames_to_install = [x for x in packageNames if not rpackages.isinstalled(x)]
if len(packnames_to_install) > 0:
utils.install_packages(StrVector(packnames_to_install))
【问题讨论】:
-
R 可执行文件的默认 OSX 位置似乎是
/Library/Frameworks/R.framework/Versions/Current/Resources。所以我需要用export R_HOME="/Library/Frameworks/R.framework/Versions/Current/Resources"这一行设置一个环境变量(在.bashrc或.bash_profile或.zprofile中)。
标签: python r installation