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导入错误的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法让 Spyder 在 Anaconda 上导入 numpy?
import bcrypt 在 anaconda cmd 上失败并抛出错误“无法导入 _bcrpyt”但适用于 windows cmd?