首页 文章

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

提问于
浏览
0

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

看起来这两个软件包无法找到某个文件夹,但是在使用此命令将路径附加到包含我需要的所有软件包的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-gnu ', ' /usr/lib/python3.5/lib-dynload ', ' /usr/local/lib/python3.5/dist-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

    如果你使用anaconda,你可能想转向包 reticulate ,在那里你可以指定要使用的python版本 .

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

    但是,根据我的经验,这种情况比较慢 .

    否则,如果您使用'standard' 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)"))
    

相关问题