【问题标题】:`import pandas` in Rmarkdown: works in the console, but doesn't knitRmarkdown 中的“import pandas”:在控制台中工作,但不能编织
【发布时间】:2021-07-30 04:25:48
【问题描述】:

我正在尝试在 RStudio 的 Rmarkdown 文件中编写 Python 代码。一般来说,它工作正常。我可以编写代码块并完美地编织它们。我还可以导入和使用包:任何使用 numpymath 的东西都可以很好地运行和编织。

尽管能够运行和编织使用其他包的代码块,但当文件包含使用pandas 的块时,我似乎无法编织该文件。我可以运行这些块并获得预期的输出。一个最小的例子就是:

import pandas as pd

返回(预期的)输出:

Python 3.9.4 (/usr/local/bin/python3)
Reticulate 1.20.9000 REPL -- A Python interpreter in R.

(我也可以使用pandas 函数运行代码块。)

问题是,当我编织时,我得到了错误:

Error in py_call_impl(callable, dots$args, dots$keywords) : ModuleNotFoundError: No module named 'pandas' Detailed traceback: File "<string>", line 1, in <module> File "/Library/Frameworks/R.framework/Versions/4.0/Resources/library/reticulate/python/rpytools/loader.py", line 44, in _import_hook level=level Calls: <Anonymous> ... py_capture_output -> force -> <Anonymous> -> py_call_impl Execution halted

我不明白为什么我能够运行这些代码块,但不能编织它们。

感谢您的帮助!

【问题讨论】:

    标签: python r pandas r-markdown reticulate


    【解决方案1】:

    您的 Rmarkdown 文件是否与这个简单的示例有点相似?

    ---
    title: "Untitled"
    author: "User"
    date: "5/6/2021"
    output: html_document
    ---
    
        
    ```{r setup, include=FALSE}
    library(reticulate)
    ```
        
    ```{python}
    import pandas as pd
    iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
    iris
    ```
    

    你仍然得到错误?有时您可能需要重新安装 pip 包,通常 pip3 install pandas 可以工作,您也可以在 library(reticulate) 下的 r 块中添加 py_install("pandas") 以使其安装 pandas 以帮助其正确渲染。有时制作简单的例子有助于将问题分解成更小的部分

    【讨论】:

    • 非常感谢丹尼尔!运行py_install("pandas") 解决了这个问题。我已经使用 pip3 安装了这个包,所以我不太清楚为什么这是必要的......(另外,我似乎根本不需要在我的 Rmarkdown 文件中加载library(reticulate)。它没有它编织很好。)
    猜你喜欢
    • 1970-01-01
    • 2019-02-11
    • 2016-08-20
    • 2019-01-22
    • 2023-03-06
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多