ModuleNotFoundError:使用网状库时没有名为“rpytools”的模块

时间:2018-03-28 11:37:51

标签: r reticulate

嗨,这是我的第一个stackoverflow问题,所以如果对任何错误提前抱歉。我正在尝试使用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 ...

如果需要任何其他信息,请写信给我。

2 个答案:

答案 0 :(得分:2)

简短的回答是您需要使用RStudio版本1.2或更高版本(目前仅可用于preview release才能获得实验性的reticulate支持

当前RStudio稳定版本(<1.2)中对reticulate的支持非常不稳定,一旦尝试使用导入的模块,使用RStudio <1.2作为Python IDE的任何希望就会瓦解。在reticulate文档中,这被称为offhand comment

  

请注意,RStudio v1.2预览版包括对使用网状图在R Notebooks中执行Python块的支持。有关其他详细信息,请参见RStudio IDE Tools for reticulate文章。

您的代码在RStudio 1.2中不会引发错误:

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

答案 1 :(得分:0)

我能够为我的工作计算机解决此问题。我不确定这是否是原因,但是我注意到我的R.exe和python.exe保存在不同的驱动程序名称中。一个在C:中,另一个在X:中。因此,我要做的是卸载R&python,然后将它们都保存到同一驱动程序中。这就是我解决问题的方式。