我正在尝试按照设置说明在RMarkdown
中让Reticulate
正常工作。然而,我无法在不同的Python单元格或Python和R单元格之间共享状态,正如文档所示应该可以的那样。以下是我的设置和输出:
单元格1(设置):
{r}
library(reticulate)
path_to_python <- "/Users/User/anaconda3/bin/python"
use_python(path_to_python)
knitr::knit_engines$set(python = reticulate::eng_python)
py_available(initialize = TRUE)
输出:
[1] TRUE
第二个单元格(在Python中设置变量):
{python}
x = 2
第三个单元格(尝试在R中访问Python变量):
{r}
py$x
输出:
Error in py_get_attr_impl(x, name, silent) : AttributeError: module '__main__' has no attribute 'x'
第四个单元格(在R中设置变量):
{r}
x <- 2
第五个单元格(尝试在Python中访问R变量):
{python}
r.x
输出:
Traceback (most recent call last):
File "/var/folders/2b/dgy6vs4n3lbfy2xqwc3gqq9m0000gn/T/RtmpTqIR6P/chunk-code-108b44104ec28.txt", line 1, in <module> r.x NameError: name 'r' is not defined
第6个单元格(在后续的Python单元格中尝试访问先前的Python变量):
{python}
x
输出:
Traceback (most recent call last):
File "/var/folders/2b/dgy6vs4n3lbfy2xqwc3gqq9m0000gn/T/RtmpTqIR6P/chunk-code-108b44520d158.txt", line 1, in <module> x NameError: name 'x' is not defined
任何帮助或建议都将不胜感激!我已经尝试将
reticulate
指向不同的Conda环境和Python安装,但没有成功。谢谢!