2017-08-24 131 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)