ModuleNotFoundError: нет модуля с именем «rpytools» при использовании библиотеки reticulate

Привет, это мой первый вопрос о стеке, поэтому заранее извините за любые ошибки. Я пытаюсь начать играть с библиотекой R reticulate. Я установил пакет и попытался импортировать os модуль Python. Вроде все было ок, но потом пока начинаю печатать например os$listdir R выдает такую ​​ошибку: Error in py_module_import(module, convert = convert) : ModuleNotFoundError: No module named 'rpytools'. Вот весь мой код:

install.packages("reticulate")
library(reticulate)
os <- import("os")
os$listdir("")

Вот мой вывод py_config() :

python:         C:\PROGRA~3\ANACON~1\python.exe
libpython:      C:/PROGRA~3/ANACON~1/python36.dll
pythonhome:     C:\PROGRA~3\ANACON~1
version:        3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)]
Architecture:   64bit
numpy:          C:\PROGRA~3\ANACON~1\lib\site-packages\numpy
numpy_version:  1.12.1
os:             C:\PROGRA~3\ANACON~1\lib\os.py

и py_available(TRUE) возвращает TRUE...

Пожалуйста, напишите мне, если нужна дополнительная информация.


person Paweł Kozielski-Romaneczko    schedule 28.03.2018    source источник
comment
Не могли бы вы поделиться результатом py_config()? Вы получаете сообщение об ошибке, когда эта строка выполняет os <- import("os")? Какие-нибудь ошибки при установке ретикулята или загрузке библиотеки?   -  person Yuan Tang    schedule 29.03.2018
comment
в дополнение к py_config(), каков результат py_available(TRUE)?   -  person Tonio Liebrand    schedule 29.03.2018
comment
Я отредактировал свой пост, добавив результаты, которые вы просили. Я не получаю никаких ошибок ни при установке, ни при загрузке библиотеки, ни даже при запуске строки os <- import("os"). Но когда я начинаю использовать любую из команд модуля os, она выдает ошибку. Что для меня неожиданно, так это то, что он выбрасывает его, когда я начинаю писать os$listdir.   -  person Paweł Kozielski-Romaneczko    schedule 29.03.2018
comment
Возможно, мне следует упомянуть, что я нахожусь на своем рабочем компьютере, и могут быть некоторые проблемы из-за брандмауэра или из-за того, что у меня нет статуса администратора. Вчера я установил reticulate на свой персональный компьютер, где у меня есть те же версии Python и Anaconda, и он работал как часы.   -  person Paweł Kozielski-Romaneczko    schedule 29.03.2018
comment
Была ли когда-нибудь решена эта проблема? Я сталкиваюсь с той же проблемой. Работает для персонального компьютера, но не для рабочего компьютера.   -  person PVic    schedule 27.08.2019


Ответы (2)


Короткий ответ: вам нужно использовать RStudio версии 1.2 или выше, которая в настоящее время доступна только в виде предварительный выпуск, чтобы получить экспериментальную reticulate поддержку.

Поддержка reticulate в текущих стабильных выпусках RStudio (‹1.2) довольно ненадежна, и любая надежда на использование RStudio ‹1.2 в качестве Python IDE рушится, как только вы пытаетесь работать с импортированными модулями. Это упоминается как навскидку в reticulate документах:

Обратите внимание, что предварительная версия RStudio v1.2 включает поддержку использования reticulate для выполнения фрагментов Python в R Notebooks. Дополнительную информацию см. в статье Инструменты RStudio IDE для ретикуляции.

Ваш код не выдает ошибку в RStudio 1.2:

> library(reticulate)
> os <- import("os")
> os$listdir()
 [1] ".Rhistory"         ".Rproj.user"     
person strangeloop    schedule 24.11.2018

Я смог решить эту проблему для своего рабочего компьютера. Я не уверен, что это причина, но я заметил, что мои R.exe и python.exe были сохранены в разных именах драйверов. Один на C:, другой на X:. Итак, что я сделал, так это удалил R и Python, а затем сохранил их оба в одном драйвере. Вот как я решил свою проблему.

person PVic    schedule 27.08.2019