当我尝试导入像“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.
完全让我发疯...真的很感激,如果有人可以帮助我在这里。 感谢
答案 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)"))