gpt4 book ai didi

rmarkdown 中的 python(网状)

转载 作者:行者123 更新时间:2023-12-01 09:24:18 26 4
gpt4 key购买 nike

我正在尝试在 rmarkdown 文档中添加 python block 。我安装了包 reticulate 然后这是我的文档:

```{r, message=FALSE, warning=FALSE, echo = FALSE}
library(reticulate)
```

```{python, echo = FALSE, eval = FALSE}
a=1
a
#import numpy as np
#import matplotlib.pyplot as plt

## evenly sampled time at 200ms intervals
#t = np.arange(0., 5., 0.2)

## red dashes, blue squares and green triangles
#plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
#plt.show()
```

但是,我在编写文档时遇到此错误:(请注意,运行第二个 block 时会发生错误)

label: unnamed-chunk-1 (with options) 
List of 3
$ message: logi FALSE
$ warning: logi FALSE
$ echo : logi FALSE


|
|.... | 6%
ordinary text without R code


|
|...... | 9%
label: unnamed-chunk-2 (with options)
List of 3
$ echo : logi FALSE
$ eval : logi FALSE
$ engine: chr "python"

Error in py_module_import(module, convert = convert) :
ModuleNotFoundError: No module named 'rpytools'
Calls: <Anonymous> ... remap_output_streams -> import -> py_module_import -> .Call

另外补充一点,我在 https://github.com/rstudio/reticulate 上没有找到任何相关信息。和 https://rstudio.github.io/reticulate/articles/r_markdown.html

我有 knitr 版本 1.20,高于 1.18,因此引擎配置应该是自动的。

最佳答案

这可能是由于使用低于 1.2 的 RStudio 版本造成的。它隐藏在reticulate页面上,但实际上导入Python包和运行Python block 的某些方面似乎仅在RStudio版本1.2及更高版本中受支持 - 也就是说,不是当前的 RStudio 稳定版本,而是您必须单独下载和安装的预览版。

Here's what they write在小插图中:

Note that the RStudio v1.2 preview release includes support for using reticulate to execute Python chunks within R Notebooks. See the RStudio IDE Tools for reticulate article for additional details.

可能正因为如此,当在 RStudio 1.1.53 中运行代码时,我会像您一样收到“ModuleNotFound”错误,并且它们会阻止编织。

在 RStudio 1.2.1139 预览版中运行它时,一切都应如此:

Reticulate 1.10 REPL -- A Python interpreter in R.
>>> a=1
>>> a
1
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>>
>>> ## evenly sampled time at 200ms intervals
>>> t = np.arange(0., 5., 0.2)
>>>
>>> ## red dashes, blue squares and green triangles
>>> plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
[<matplotlib.lines.Line2D object at 0x000000001C2EDBE0>, <matplotlib.lines.Line2D object at 0x000000001DA99978>, <matplotlib.lines.Line2D object at 0x000000001DA99D30>]
>>> plt.show()
>>> plt.savefig("test.png")
>>>

test.png

关于rmarkdown 中的 python(网状),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50562069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com