无法使用rPython或pythoninr导入python模块

时间:2017-11-20 23:22:23

标签: python r

当我尝试导入像“pymc3”或“theano”这样的模块时,即使我已经安装了这些模块,rPython或PythoninR也无法找到这些模块。我使用的是Ubuntu 16.04,R 3.4.2和python 3.5.2

似乎这两个软件包无法找到某个文件夹,但是在我将路径附加到sys.path之后它不起作用,sys.path包含我需要的所有软件包,使用此命令:

pyExec("sys.path.append('/home/lijiakai/.local/lib/python3.5/site-packages')")

结果似乎也很好:

pyExec('import sys; print(sys.path)')

['','/ usr / lib / python35.zip','/ usr / lib / python3.5','/ usr / lib / python3.5 /plat-x86_64-linux-nuu' ,'/ usr / lib / python3.5 / lib-dadload','/ usr / local / lib / python3.5 / did-packages','/ usr / lib / python3 / dist-packages','。', '/home/lijiakai/.local/lib/python3.5/site-packages']

我导入了包:

pyExec('import pymc3')

然后收到以下错误:

Traceback (most recent call last):   File "<string>", line 1, in
<module> **ImportError** :  No module named 'pymc3' Error in
pyExec("import pymc3") :    An error has occured while executing
Python code. See traceback above.

完全让我发疯...真的很感激,如果有人可以帮助我在这里。 感谢

1 个答案:

答案 0 :(得分:0)

如果您使用anaconda,您可能需要转向包reticulate,您可以在其中指定要使用的python版本。

# install.packages("reticulate")
library(reticulate)
use_python("/anaconda/bin/python")

然而,根据我的经验,这种情况较慢。

否则,如果您使用'标准'Python,则可以先删除rPython

remove.packages("rPython")

然后重新安装它指定版本:

install.packages("rPython", configure.vars= "RPYTHON_PYTHON_VERSION=3.5")

然后应该在您的计算机上使用Python_3.5,有关详细信息,请参阅here

您可以使用以下方法测试是否成功:

library(rPython)
python.exec(c("import sys", "\n", "print(sys.version)"))