首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法用rPython导入包

无法用rPython导入包
EN

Stack Overflow用户
提问于 2018-05-03 18:17:57
回答 1查看 1.5K关注 0票数 3

我在mac OS上安装了mac OS,并试图使用rPythonr markdown文件中使用它,如下所示:

http://blog.schochastics.net/post/using-umap-in-r-with-rpython/#fn1

但是当我运行以下代码时:

代码语言:javascript
复制
```{r}

-函数(x,n_neighbors=10,min_dist=0.1,metric=“欧几里得”){

X <- as.matrix(x)

colnames(x) <- NULL

rPython::python.exec( c( "def umap(数据,n,mdist,度量)):“,

代码语言:javascript
复制
          "\timport umap" ,
代码语言:javascript
复制
          "\timport numpy",
代码语言:javascript
复制
          "\tembedding = umap.UMAP(n_neighbors=n,min_dist=mdist,metric=metric).fit_transform(data)",
代码语言:javascript
复制
          "\tres = embedding.tolist()",
代码语言:javascript
复制
          "\treturn res"))

res <- rPython::python.call( "umap",x,n_neighbors,min_dist,度量)

do.call("rbind",res)

}

数据(虹膜)

res <- umap(虹膜,1:4)

代码语言:javascript
复制

我知道错误:

python.exec(python.command)中的错误:没有名为umap的模块

因此,显然Rstudio没有看到umap。我检查了包是否由conda list安装。

代码语言:javascript
复制
umap-learn                0.2.3                    py36_0    conda-forge

我怎么才能解决这个问题?

更新

python的版本是错误的,所以我添加了.Rprofile并使它指向正确的版本,但是错误仍然存在。

代码语言:javascript
复制
system("python --version")
Python 3.6.5 :: Anaconda, Inc.

更新

更详细的错误(堆栈跟踪):

代码语言:javascript
复制
 Error in python.exec(python.command) : No module named umap
 4.stop(ret$error.desc)
 3.python.exec(python.command)
 2.rPython::python.call("umap", x, n_neighbors, min_dist, metric)
 1.umap(iris[, 1:4])
EN

回答 1

Stack Overflow用户

发布于 2018-05-03 18:23:39

您需要确保umap对R中使用的相同的Python可用,默认情况下,这将不是您的Anaconda安装。

您可以使用system("python --version")检查您的Python,如果需要,可以在cmd行上执行pip install umappip3 install umap等操作(使用当前可用的Python;或者可以将Python路径switch到Anaconda )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50161533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档