Импорт модуля Python в R
Я пытаюсь импортировать модуль Python в R, используя reticulate
пакет. Модуль можно найти здесь. Я клонировал хранилище и побежал python setup.py install
который бежал успешно. Если я открою оболочку Python, я могу импортировать debot
, Однако, когда я пытаюсь импортировать его в RStudio, я получаю следующую ошибку:
dbot=import("debot")
Error in py_module_import(module, convert = convert) :
ImportError: No module named debot
Я на MacOS Sierra версии 10.12.6 и установлен Python 3.6 через Anaconda. Я также попытался дать путь к 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.
Не уверен, что путь к питону правильный.
Хорошо, еще покопался и обнаружил, что 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 ответ
Прочитав это я наконец разобрался. Я думаю, прежде чем вызывать любую другую функцию из reticulate
пакет, необходимо указать путь к Python для использования. Следовательно, порядок, которому я следую сейчас, таков:
library(reticulate)
path_to_python <- "/anaconda/bin/python"
use_python(path_to_python)