还有很多像我一样的其他问题,但它们已经过时了,所以我认为新的更新指南将对每个尝试在 Python 中安装 rpy2 的人有所帮助。
就我而言,我正在尝试使用 pymer4 包,但我无法正确导入它。
我发现错误在于 rpy2.robjects 所以我决定按照这个答案创建一个干净的环境
步骤
我创建了一个新的conda环境
conda create -n rpy2_env r-essentials<4.2 r-base<4.2 python=3.7
我将版本设置为<4.2 because I read online this problem can be caused by a wrong r version. Anyway neither 4.2 nor 4.1 worked for me.
我安装了 pymer4 软件包(及其依赖项,包括 rpy2)
conda install -c ejolly -c conda-forge pymer4
我将rpy2降级到3.4.5(参见下面的相关问题,我也尝试过不降级)
conda install rpy2=3.4.5
当我尝试导入 pymer4 或 rpy2.robjects 时,出现以下错误
R[write to console]: Error in gettext(fmt, domain = domain, trim = trim) :
3 arguments passed to .Internal(gettext) which requires 2
在终端中,日志在下载和安装过程中没有显示错误。
如果您需要有关我的系统或其他任何内容的更多信息,请发表评论,我将更新问题。
我真的陷入了这一点,我想我已经尽力了。如果有人能启发我,我将非常感激。
类似问题
导入rpy2:无法确定R库路径
Rpy2 在安装时找不到我的 R 库
R[写入控制台]:gettext(fmt,domain = domain,trim = trim)中出现错误:3个参数传递给.Internal(gettext),需要2个
我想我找到了解决方案。
问题出在 conda 和 rpy2 上,显然用 conda 安装的 rpy2 已经过时了。
您可以使用 pip 在新环境(venv 或 conda env)上正确安装 rpy2。
我做到了,到目前为止一切正常。