如何解决:在 Rmarkdown 中调用变量形式 python 块到 R 块时出现“错误:未找到对象 'py'”

Shr*_*jee 3 r-markdown reticulate

我正在使用 R markdown 和 reticulate 包。在块中运行简单的 2 行 python 代码后,我无法使用 py$x 函数在 R 块中使用 python 变量。我收到以下错误:“错误:对象 'py ' 未找到”

我已经尝试过另一个函数 py_to_r 将 python 对象转换为 R 但即使这样也不起作用,因为它会抛出一个错误,无法找到该对象。我还包括 python 配置:

    ```{r}
    py_config()
    ```


python:         C:\Users\chatsh02\AppData\Local\CONTIN~1\ANACON~1\python.exe
libpython:      C:/Users/chatsh02/AppData/Local/CONTIN~1/ANACON~1/python36.dll
pythonhome:     C:\Users\chatsh02\AppData\Local\CONTIN~1\ANACON~1
version:        3.6.3 |Anaconda custom (64-bit)| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)]
Architecture:   64bit
numpy:          C:\Users\chatsh02\AppData\Local\CONTIN~1\ANACON~1\lib\site-packages\numpy
numpy_version:  1.14.2

python versions found: 
 C:\Users\chatsh02\AppData\Local\CONTIN~1\ANACON~1\python.exe
 C:\Users\chatsh02\AppData\Local\Continuum\anaconda3\python.exe
 C:\Users\chatsh02\AppData\Local\Continuum\anaconda3\envs\r-reticulate\python.exe


```{r}
library(reticulate)
use_virtualenv('r-reticulate')
py_available(TRUE)
```

```{python}
a=7
print(a)
```

```{r}
py$a
```
Run Code Online (Sandbox Code Playgroud)

预期结果应该是我应该得到值为 7 的 R 变量 a。实际结果:错误:未找到对象“py”

Mat*_*cho 5

library(reticulate)我得到这个是因为我忘记在我的 Rmarkdown 文档中运行。看起来您已经拥有它,但只需确保您实际运行该行即可。