我在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的旧解决方案不再兼容。
答案 0 :(得分:0)
如果您碰巧使用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
这些命令来自内存,但它们应该工作或足够接近,你可以找出确切的选项。