您好,这是我的第一个 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("")
Run Code Online (Sandbox Code Playgroud)
这是我的输出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
Run Code Online (Sandbox Code Playgroud)
并py_available(TRUE)返回TRUE...
如果需要任何其他信息,请写信给我。
简而言之,您需要使用 RStudio 1.2 或更高版本(目前仅作为预览版本提供)才能获得实验reticulate支持。
对当前 RStudio 稳定版本 (<1.2) 的支持reticulate相当不稳定,一旦您尝试使用导入的模块,使用 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"
Run Code Online (Sandbox Code Playgroud)