无法在rmarkdown中导入python模块

时间:2019-02-22 22:28:33

标签: python r-markdown reticulate

我正在尝试从我在Rmarkdown文档中创建的virtualenv中导入一些python模块。我是python的新手,所以我将逐步完成设置过程。

(1)我使用以下命令在默认根目录r-reticulate中创建了一个名为~/.virtualenvs的新virtualevn

virtualenv -p /usr/bin/python3 r-reticulate

(2)激活环境后,我使用pip安装了一些模块。以下是已安装软件包的列表:

$ pip list

Package         Version
--------------- -------
cycler          0.10.0
kiwisolver      1.0.1
matplotlib      3.0.2
numpy           1.16.1
pandas          0.24.1
pip             19.0.3
pkg-resources   0.0.0
pyparsing       2.3.1
python-dateutil 2.8.0
pytz            2018.9
setuptools      40.8.0
six             1.12.0
virtualenv      16.4.1
wheel           0.33.1

(3)现在到我的R代码。我只有2个代码块。第一个:

```{r}
library(reticulate)
use_virtualenv(virtualenv = "r-reticulate")
```

第二个:

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

第一个代码卡盘运行没有错误,但是第二个代码卡盘返回:

ImportError: No module named matplotlib

我已通过激活r-reticulate环境并通过终端导入这些模块来验证其工作原理。


Sesssion Info

R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.1 LTS

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3.10.3
LAPACK: /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3.10.3

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] reticulate_1.10 ggplot2_3.1.0 

1 个答案:

答案 0 :(得分:0)

经过进一步的挖掘,我发现我没有最新版本的reticulate。升级到reticulate_1.9似乎已解决了模块导入错误。我已经成功地从r-reticulate环境中导入了其他软件包,因此我相信use_virtualenv(virtualenv = "r-reticulate")现在可以正常工作了。