rpy2的Anaconda导入错误

Posted

技术标签:

【中文标题】rpy2的Anaconda导入错误【英文标题】:Anaconda import error for rpy2 【发布时间】:2016-08-11 20:11:06 【问题描述】:

我在 Anaconda Python 上使用 rpy2 时遇到问题。问题是由于以下 TypeError 导致导入失败:

TypeError: type 'rpy2.rinterface.StrSexpVector' 是不可接受的 基本类型

我的python版本是3.5,我的anaconda版本是4.0.0,我的rpy2版本是2.7.0

问题似乎是 Anaconda 现在使用的 3.5 版本与 rpy2 2.7.3 或更低版本不兼容,请参阅https://bitbucket.org/rpy2/rpy2/issues/313/typeerror-type-rpy2rinterfacestrsexpvector - 因为 Anaconda 当前默认安装 2.7.0,所以导入失败。如何解决这个问题?

这个问题与这里提出的问题类似,Error when loading rpy2 with anaconda,但是,安装 2.7.0 的旧解决方案不再兼容,如上所述。

【问题讨论】:

【参考方案1】:

如果你碰巧在 OS X 上,我已经为 rpy2 2.8.0 构建了 Conda 包,你可以使用它:

conda install -c ijstokes rpy2=2.8.0

这些适用于 Python 2.7 和 3.5。问题源于此 rpy2 错误,该错误现已修复:https://bitbucket.org/rpy2/rpy2/issues/313/typeerror-type-rpy2rinterfacestrsexpvector

如果您不在 OS X 上,那么您可以使用以下内容构建自己的版本:

conda skeleton pypi rpy2 --version=2.8.0 --python=3.5
conda build rpy2
conda install --use-local rpy2

这些命令来自内存,但它们应该可以工作或足够接近您可以找出确切的选项。

【讨论】:

以上是关于rpy2的Anaconda导入错误的主要内容,如果未能解决你的问题,请参考以下文章

Anaconda python已安装模块但导入失败

anaconda3镜像源修改后,无法安装软件包

有没有办法让 Spyder 在 Anaconda 上导入 numpy?

import bcrypt 在 anaconda cmd 上失败并抛出错误“无法导入 _bcrpyt”但适用于 windows cmd?

安装anaconda后无法导入numpy怎么办

无法使用 Anaconda Python 导入 sqlite3