没有名为“rpytools”的模块?

toiithl6  于 9个月前  发布在  其他
关注(0)|答案(4)|浏览(140)

我正在尝试使用R中的网状库。我使用了“functions.py“示例来测试它:

# functions.py file
def add(x, y): 
    return x + y

字符串
在R studio(3.5.2版)中,这是我所拥有的:

library(reticulate)  
source_python('functions.py')


但是,这会返回一个错误:

Error in py_set_attr_impl(x, name, value) : 
  Evaluation error: ModuleNotFoundError: No module named 'rpytools'.


所以我被困在这里了。如果有帮助的话,我也会分享我的Python是64位的,版本是3.6.5。有人知道怎么做吗?
谢谢

csga3l58

csga3l581#

rpytoolsreticulate提供的一个模块,应该放在模块路径上给你看,比如我看到:

> library(reticulate)
> sys <- import("sys", convert = TRUE)
> sys$path
 [1] ""                                                                                                          
 [2] "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/bin"                          
 [3] "/Users/kevin/Library/Python/2.7/lib/python/site-packages/pip-18.1-py2.7.egg"                               
 [4] "/Users/kevin/Library/Python/2.7/lib/python/site-packages/virtualenv-16.0.0-py2.7.egg"                      
 [5] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python27.zip"                         
 [6] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7"                            
 [7] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin"                
 [8] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac"                   
 [9] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages"
[10] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk"                     
[11] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old"                    
[12] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload"                
[13] "/Users/kevin/Library/Python/2.7/lib/python/site-packages"                                                  
[14] "/usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages"              
[15] "/Users/kevin/Library/R/3.5/library/reticulate/python"

字符串
注意最后一个条目,它提供了在导入时可以找到rpytools的路径。您看到类似的东西了吗?

jfewjypa

jfewjypa2#

安装reticulate软件包,创建conda env并安装keras,tf和其他你需要的东西。
找到当前R版本的软件包的存储位置,并找到reticulate文件夹,其中应该有一个python/rpytools目录。(在我的情况下,R软件包安装在'C:\Users\abc\Documents\R\win-library\4.1\reticulate\python'中)
使用此代码:

library(reticulate)
    sys <- import("sys", convert = TRUE)
    sys$path

字符串
最后一个条目显示了你应该复制rpytools文件夹的目录。在此之后,事情开始为我工作。

7cjasjjr

7cjasjjr3#

我在Windows中遇到了同样的问题,帮助我的是手动将网状Python的路径添加到PYTHONPATH环境变量中。
在R中,你得到了网状Python的路径:

paste0(system.file(package = "reticulate"),"/python")

字符串
在Windows系统环境变量设置中创建PYTHONPATH环境变量(如果不存在)。将上述命令的结果添加到PYTHONPATH环境变量路径。保存并重新启动RStudio。

biswetbf

biswetbf4#

我可以通过从我的R包库中复制rpytools文件夹并将其放入我的Python site-packages文件夹来解决这个问题。

相关问题