在 R 中使用带有网状包的 Python - 找不到 Numpy



我开始使用reticulate允许在R环境中使用Python的包,并希望使用sklearn执行均值偏移聚类。所以我的尝试是:

> library(reticulate)
> np <- import('numpy')
> sklearn <- import('sklearn')
> sklearn.MeanShift <- sklearn$cluster$MeanShift
> x <- matrix(rnorm(20), 10, 2)
> sklearn.MeanShift(x)
Error in py_call_impl(callable, dots$args, dots$keywords) : 
  Evaluation error: Required version of NumPy not available: installation of Numpy >= 1.6 not found.

如您所见,在导入函数时调用函数时找不到numpy sklearnreticulate::import .我还检查了我在 conda 提示符下numpy的版本,它是 1.15.4。此外,py_numpy_available()返回 false。我的reticulate配置是:

python:         C:UsersjakesANACON~1python.exe
libpython:      C:/Users/jakes/ANACON~1/python37.dll
pythonhome:     C:UsersjakesANACON~1
version:        3.7.1 (default, Oct 28 2018, 08:39:03) [MSC v.1912 64 bit (AMD64)]
Architecture:   64bit
numpy:           [NOT FOUND]
scikit-learn:   [NOT FOUND]
python versions found: 
 C:UsersjakesANACON~1python.exe
 C:UsersjakesAnaconda3python.exe

如何解决此问题?

查看此线程以获取更多信息。

尝试从以 R 对象作为参数的 python 脚本调用函数时,我遇到了同样的错误。显然,发生这种情况是因为 Python 尚未添加到您的 PATH 中(这是在 Anaconda 安装期间建议的),这会阻止 reticulate 在初始化 python 时找到 numpy。在使用 reticulate 初始化之前,将 python 添加到 R 中的 PATH 中是为我解决问题的原因。所以从前面提到的线程:

if(.Platform$OS.type == "windows") Sys.setenv(PATH= paste("C:/Anaconda3/Library/bin",Sys.getenv()["PATH"],sep=";"))
library(reticulate)

相关内容

  • 没有找到相关文章

最新更新