首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python3.5使用rPython导入numpy

用python3.5使用rPython导入numpy
EN

Stack Overflow用户
提问于 2017-07-26 06:45:27
回答 1查看 528关注 0票数 0

我的R版本是3.4.1,python版本是3.5.2,操作系统是Ubuntu16.04.2

我在安装RPYTHON_PYTHON_VERSION=3.5时设置了rPython,这是rPython的默认版本。

代码语言:javascript
复制
♥ python.exec('import sys')
♥ python.exec('print(sys.version)')
3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609]

当我通过rPython导入numpy时(在python3.5中使用导入numpy没有问题,一切都很好。),我得到了以下内容:

代码语言:javascript
复制
♥ python.exec('import numpy')
Error in python.exec("import numpy") :
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: /usr/local/lib/python3.5/dist-packages/numpy/core/multiarray.cpython-35m-x86_64-linux-gnu.so: undefined symbol: PyType_GenericNew

但是,如果我设置了RPYTHON_PYTHON_VERSION=2并重新安装了rPython,那么导入numpy就能工作。如何使用python3.5在rPython下成功导入numpy?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-01 17:18:08

首先,您可以从R/rPython将任何包导入python 3.5.3中吗?

我也有这个问题。我得到的错误与海报完全相同(numpy不会加载)。后来我发现我不能导入任何包。不过,我可以在python 2.7.13和python 3.5.3中导入包(只是不能通过R/rPython)。这使我相信这是一个'rPython‘R包错误。以下是我为解决这一问题所做的努力:

1)我尝试过安装/重新安装R包rPython,以使用python2.7.13或python3.5.3。我可以通过重新安装rPython包将R连接到python2.7.13:

代码语言:javascript
复制
install.packages("rPython",lib= "home/myusername/R/x86_64-pc-linux-gnu-library/3.4", configure.vars= "RPYTHON_PYTHON_VERSION=2")

安装期间使用"RPYTHON_PYTHON_VERSION=3“也同样允许我将R与python3.5.3连接起来。当rPython连接到python2.7.13时,我可以从R调用"import“,但当连接到3.5.3时则不能调用。

2)我已经找到了以前安装和卸载过的所有矮胖的和枕木的。对于python 2.7.13和python 3.5.3,我都有几个副本。使用pip和pip3重新安装没有解决问题(为了安全起见,我提前重新启动了R)。

从这两个帐户来看,这似乎是R包'rPython‘的一个问题。您可以尝试R中更新的“网状”包,看看这是否更适合您。然而,当我使用网络连接R和python时,我还没有能够让并行线程工作,不幸的是,这正是我需要做的。然而,当使用'rPython‘时,线程确实工作得很好,但是我需要的包需要python 3+。如果我能解决这个问题,我会继续进行故障排除并更新这个帖子。同时,给‘网状’一个机会,这是一个非常整洁的包。

编辑i能够使用‘网状’包从python3.5.3在R中加载numpy。

EDIT2对于那些将来发现这篇文章的人来说,我能找到的唯一解决方案是使用python3代码和R多线程一起使用系统调用python文件(python3 "path_to_python_script“arg1 arg2 arg3)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45319387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档