2

嗨,这是我的第一个 stackoverflow 问题,如有任何错误,请提前道歉。我正在尝试开始使用 Rreticulate库。我已经安装了包,并尝试导入osPython 模块。一切似乎都很好,但是当我开始输入例如os$listdirR 时抛出此错误: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...

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

4

2 回答 2

3

简短的回答是您需要使用 RStudio 1.2 版或更高版本,目前仅作为预览版提供,以获得实验性reticulate支持

reticulate当前 RStudio 稳定版本 (<1.2) 的支持非常不稳定,一旦您尝试使用导入的模块,任何使用 RStudio <1.2 作为 Python IDE 的希望都会落空。这在文档中被称为临时评论:reticulate

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

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

> library(reticulate)
> os <- import("os")
> os$listdir()
 [1] ".Rhistory"         ".Rproj.user"     
于 2018-11-24T22:50:05.037 回答
0

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

于 2019-08-27T21:17:15.377 回答