【问题标题】:How to run python in R如何在 R 中运行 python
【发布时间】:2020-11-21 04:49:53
【问题描述】:

我想配置 Rstudio 和 python,以便我可以处理 R markdown 文件并在 Rstudio 中使用 python 代码,因为我想利用 ggplot2 包。我目前的 R markdown 文件如下:

---
title: "plottingpython"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(reticulate)
use_python("C:/Users/Joe's PC/AppData/Local/Programs/Python/python38-32")
```


```{python}
import numpy as np
```

但是在运行时出现以下错误,

Error in py_run_string_impl(paste0("import sys; sys.path.append('", system.file("python",  : 
  SyntaxError: invalid syntax (<string>, line 1)

我找不到此错误的解决方案。我确保 R 和 Rstudio 都是最新的。 工作室:1.3.1056 R: 4.0.2 2020-06-22

我已将 use_python("") 设置为我在 PyCharm 中使用的解释器路径。

我对错误的来源有点困惑。如果我直接使用编码会出现同样的错误

library(reticulate)
py_run_string("import numpy as np")
py_run_string("tester = np.array([2,3,4,5])")

py_run_string("print(tester)")

到 R 脚本中。有谁知道上述错误的根本原因以及可能的解决方案?如果有人可以提供帮助,将不胜感激!

【问题讨论】:

  • 如果我还有一行 use_python("D:/Users/ME/Anaconda2") 指向 python.exe 的位置,您的直接代码对我有用
  • 这个块关闭了吗? ```{python} 将 numpy 导入为 np
  • @VirgilIon 是的,它在我的原始代码中,所以不会是它。但是你说得对,我在转移到 SO 时错过了这一点。好地方谢谢。

标签: python r r-markdown reticulate


【解决方案1】:

我在 Mac 上,use_python("C:/Users/Joe's PC/AppData/Local/Programs/Python/python38-32") 行没有抛出错误,我认为它会。但是只是使用您的代码效果很好,您是否仍然在 Rmarkdown 中遇到 Python 问题?

---
title: "plottingpython"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(reticulate)

```



```{python}
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
print(x)
y = 2*x + 1

plt.plot(x, y)
plt.show()
```

【讨论】:

  • 如果您在 Mac 上,那么 OP 的 use_python 使用虚假路径。这与 OP 的情况截然不同,后者可能是有效的。
  • 我仍然遇到同样的问题。我认为这可能是我的 PC 如何访问 python 的问题,所以我将再次尝试通过 Anaconda 环境。但我只是猜测。感谢您的贡献
猜你喜欢
  • 1970-01-01
  • 2019-09-14
  • 2018-09-30
  • 1970-01-01
  • 2018-07-03
  • 2018-01-17
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
相关资源
最近更新 更多