首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中使用Reticulate导入python包

如何在R中使用Reticulate导入python包
EN

Stack Overflow用户
提问于 2020-08-25 06:01:07
回答 3查看 785关注 0票数 2

我已经学习python大约一年了。我刚刚下载了R来尝试在Reticulate中使用Python。我的所有python包pip都安装在一个名为base的anaconda基础环境中。除了熊猫,我把所有的东西都弄好了。这是最奇怪的事情。

下面是我的代码:

代码语言:javascript
复制
{r}
library(reticulate)
use_condaenv(“base”)
代码语言:javascript
复制
{python}
import numpy as np
import matplotlib.pyplot as plt

这很好用,我可以在RStudio中使用这两个包。然而,当我尝试import pandas as pd时,我得到了错误

ImportError: No Module named pandas...

我肯定在这个基础环境中安装了pandas pip和其他两个包。为了确认,我再次对所有3个都运行了一个pip install来进行检查。为什么熊猫不能工作呢?这太让人沮丧了!FWIW: seaborn (和其他软件包)也不能工作,也被安装了。

EN

回答 3

Stack Overflow用户

发布于 2020-08-25 06:18:07

也许您已经安装了多个版本的Python,如果在运行pip freeze时出现了不同的版本,那么您正在运行的是另一个版本。我建议在您的项目文件夹中安装virtualenv,以避免与其他包冲突。

代码语言:javascript
复制
pip install virtualenv
virtualenv venv
source venv/bin/activate

然后把熊猫装进去。

代码语言:javascript
复制
pip install pandas

您还可以尝试使用pip3安装pandas。

票数 0
EN

Stack Overflow用户

发布于 2020-08-25 06:19:09

你可以看看这个源码:

希望它能有所帮助:R Interface to Python

导入Python模块

来源: /python.R

导入指定的Python模块,从R调用。

代码语言:javascript
复制
import(module, as = NULL, convert = TRUE, delay_load = FALSE) 
import_main(convert = TRUE)
import_builtins(convert = TRUE)
import_from_path(module, path = ".", convert = TRUE)

参数

模块

模块名称

作为的

模块名称的别名(影响R类的名称)。请注意,这是一个高级参数,通常只应该在包开发中使用(因为它会影响导入类的S3名称,因此会影响S3方法调度)。

转换

如果为TRUE,则自动将Python对象转换为R等效项。如果您传递了FALSE,则可以使用the py_to_r()函数进行手动转换。

delay_load

如果为TRUE,则延迟加载模块,直到首次使用。如果为FALSE,则立即加载模块。如果提供了一个函数,那么它将在模块加载后被调用。如果提供了一个列表containing on_load() and on_error(E),则如果出现错误,将在成功加载and on_error(E)时调用then on_load()。

路径

要从中导入的路径

一个Python模块

详细信息

The import_from_path function从任意文件系统路径导入Python模块(指定的python脚本的目录会自动添加到the sys.path中)。

示例

代码语言:javascript
复制
if (FALSE) 
{ 
    main <- import_main() 
    sys <- import("sys") 
 }
票数 0
EN

Stack Overflow用户

发布于 2022-01-11 21:10:38

看起来你使用的Mac是基于“框架”的输出。Python 2.7是Mac上的基础版本。最好的方法是安装Anaconda3,这将创建一个独立的新基础环境。

对于网格化,您需要PyQt5来呈现带有R Markdown的Python。因此,请执行以下步骤来设置它:

要将environment

  • pip install PyQT5激活到网状环境中,请下载并安装Anaconda

  • conda create --name cloned_env --clone original_env

,使其看起来与此conda create --name reticulate --clone base

  • conda activate reticulate类似

现在检查您的Python:

代码语言:javascript
复制
which python3

这将为您提供路径中包含Anaconda3的路径。在标准(文档)目录中,创建一个名为.Renviron.txt的文本文件

添加以下代码:

代码语言:javascript
复制
RETICULATE_PYTHON="your path from which python3"

例如,我的是这样的,你的应该是蟒蛇:

代码语言:javascript
复制
RETICULATE_PYTHON="/anaconda3/bin/python" 

它也可能是

代码语言:javascript
复制
RETICULATE_PYTHON="/anaconda3/envs/reticulate"

然后,当您启动RStudio时,您应该拥有了所需的一切。

有很好的文档说明这个命令不起作用:

代码语言:javascript
复制
use_condaenv(“base”)

在R中,检查命令Sys.getenv(),它应该确认您的RETICULATE_PYTHON变量已设置为您在.Renviron文件中指定的路径。

在这个链接上有更多关于这方面的讨论:

Unable to change Python path in reticulate

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

https://stackoverflow.com/questions/63569267

复制
相关文章

相似问题

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