2017-08-24 86 views
2

我正在尝试使用reticulate包在R中导入python模块。该模块可以找到here。我克隆了存储库并运行成功运行的python setup.py install。如果我打开一个python shell,我可以导入debot。然而,当我试图将其导入RStudio,我得到以下错误:在R中导入python模块

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

我在MacOS版本塞拉利昂和10.12.6安装蟒蛇3.6通过蟒蛇。我也曾尝试给路径蟒蛇为:

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. 

不知道,如果路径蟒蛇是正确的。

好的,做了一些更多的挖掘,发现reticulate仍然是指我的Macbook默认使用的Python 2.7的老版本Python路径。当我运行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的问题。任何想法我的下一步应该是什么?

+0

我不熟悉这个方案,但我认为你做了'库(网纹)'并已阅读'import'相关文档?另外,你能够导入其他python模块,包括非pip模块吗?这只是这个模块吗? – C8H10N4O2

+0

是的,我做到了。事实上,在Windows上运行脚本时我没有遇到任何问题。我认为它是一个Mac问题,或者默认情况下随附的python安装。 – Dhiraj

+0

好的,看起来像一个很好的问题,对不起我没什么...... – C8H10N4O2

回答

1

看完之后this我终于想通了。我想在调用reticulate包中的任何其他函数之前,必须指定要使用的python路径。因此,我现在下面的顺序是:

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