如何指定 rmarkdown 使用 Python3 而不是 Python 2?
How can I specify rmarkdown to use Python3 instead of Python 2?
我正在尝试 运行 python 作为 rmarkdwon 代码块。我成功了,但默认情况下 rmarkdown 使用 Python2,我希望它使用 Python 3。我 运行 在 Ubuntu 上使用 Python 2.7.6安装并且我用 Python 3.5 安装了 anaconda,这是我想要 rmarkdown 使用的版本。
这是 rmarkdown
中 python 块的代码和输出
import sys
print (sys.version)
和输出:
2.7.6 (default, Jun 22 2015, 17:58: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)
```
您可以 select 您想要的 python 版本,默认情况下,带有 R 块:
```{r setup, echo=FALSE}
library(knitr)
opts_chunk$set(engine.path = '/usr/bin/python3')
```
从现在开始,您的 python 块将使用 Python3:
```{python}
import sys
print(sys.version)
```
这种 select python 版本的方式避免了将 engine.path
变量添加到每个代码块。
实际上,如果您是 运行ning Python 3.x,我就是,我必须执行以下操作(显然是 Python3 可执行文件的路径可能不同):
```{r Setup, echo=FALSE}
library(knitr)
opts_chunk$set('python', engine.path='/usr/local/Cellar/python3/3.6.3/bin/python3')
```
然后可以只使用 python
创建一个块,它会 运行 在正确的版本中:
```{python, cache=TRUE, echo = FALSE, eval = TRUE}
import sys
print(sys.version)
```
可以使用reticulate包,在开头插入R块:
```{r}
library(reticulate)
use_python("/usr/local/bin/python3")
```
我正在尝试 运行 python 作为 rmarkdwon 代码块。我成功了,但默认情况下 rmarkdown 使用 Python2,我希望它使用 Python 3。我 运行 在 Ubuntu 上使用 Python 2.7.6安装并且我用 Python 3.5 安装了 anaconda,这是我想要 rmarkdown 使用的版本。
这是 rmarkdown
中 python 块的代码和输出import sys
print (sys.version)
和输出:
2.7.6 (default, Jun 22 2015, 17:58: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)
```
您可以 select 您想要的 python 版本,默认情况下,带有 R 块:
```{r setup, echo=FALSE}
library(knitr)
opts_chunk$set(engine.path = '/usr/bin/python3')
```
从现在开始,您的 python 块将使用 Python3:
```{python}
import sys
print(sys.version)
```
这种 select python 版本的方式避免了将 engine.path
变量添加到每个代码块。
实际上,如果您是 运行ning Python 3.x,我就是,我必须执行以下操作(显然是 Python3 可执行文件的路径可能不同):
```{r Setup, echo=FALSE}
library(knitr)
opts_chunk$set('python', engine.path='/usr/local/Cellar/python3/3.6.3/bin/python3')
```
然后可以只使用 python
创建一个块,它会 运行 在正确的版本中:
```{python, cache=TRUE, echo = FALSE, eval = TRUE}
import sys
print(sys.version)
```
可以使用reticulate包,在开头插入R块:
```{r}
library(reticulate)
use_python("/usr/local/bin/python3")
```