如何指定rmarkdown使用python3而不是python 2?

COL*_*OLO 7 r r-markdown python-3.5

我试图运行python作为rmarkdwon代码块.我是sucessfull但默认使用rmarkdown使用python2并且我希望它使用python 3.我在安装了python 2.7.6的Ubuntu上运行它并且我安装了带有pytthon 3.5的anaconda,这是我想要rmarkdown使用的.这是rmarkdown中python块的代码和输出

```{python}
import sys
print (sys.version)
```
Run Code Online (Sandbox Code Playgroud)

和输出:

2.7.6 (default, Jun 22 2015, 17:58:13) 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

nru*_*ell 13

您可以添加engine.path = '/path/to/python3'以覆盖python(2)可执行文件.例如,

---
title: "python"
output: html_document
---

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

```{python}
import sys
print(sys.version)
```

```{python, engine.path = '/usr/bin/python3'}
import sys
print(sys.version)
```
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Enr*_*ero 5

你可以选择你想要的 python 版本,默认情况下,带有 R 块:

```{r setup, echo=FALSE}
library(knitr)
opts_chunk$set(engine.path = '/usr/bin/python3')
```
Run Code Online (Sandbox Code Playgroud)

从现在开始,你的 python 块将使用 Python3:

```{python}
import sys
print(sys.version)
```
Run Code Online (Sandbox Code Playgroud)

这种选择 python 版本的方法避免了将engine.path变量添加到每个代码块中。