在R中导入python模块

时间:2017-08-24 11:59:16

标签: python r reticulate

我正在尝试使用reticulate包在R中导入python模块。可以找到该模块here。我克隆了存储库并运行了成功运行的python setup.py install。如果我打开python shell,我就可以导入debot。但是,当我尝试在RStudio中导入它时,我收到以下错误:

dbot=import("debot")
Error in py_module_import(module, convert = convert) : 
  ImportError: No module named debot

我在macOS Sierra版本10.12.6上,并通过Anaconda安装了python 3.6。我也尝试过将python的路径作为:

path_to_python <- "/anaconda/bin/python3.6"
use_python(path_to_python)

当我从终端运行python时,我得到:

Python 3.6.1 |Anaconda 4.4.0 (x86_64)| (default, May 11 2017, 13:04:09) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

不确定python的路径是否正确。

好的,做了一些更多的挖掘并发现reticulate仍然引用我的旧版python路径为python 2.7,这是我的Macbook的默认路径。当我运行py_config()时,这就是我得到的:

python:         /usr/bin/python
libpython:      /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib
pythonhome:     /System/Library/Frameworks/Python.framework/Versions/2.7:/System/Library/Frameworks/Python.framework/Versions/2.7
version:        2.7.10 (default, Feb  7 2017, 00:08:15)  [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]

无论我尝试什么,但我都无法使用reticulate函数use_python()查看安装模块的正确路径。我相信这是reticulate的问题。我的下一步应该是什么想法?

1 个答案:

答案 0 :(得分:5)

阅读this后我终于明白了。我想在调用reticulate包中的任何其他函数之前,必须指定要使用的python的路径。因此,我现在关注的顺序是:

library(reticulate)
path_to_python <- "/anaconda/bin/python"
use_python(path_to_python)