【问题标题】:Not able to import python modules in rmarkdown无法在 rmarkdown 中导入 python 模块
【发布时间】:2019-02-26 00:31:23
【问题描述】:

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

(1) 我在默认根位置~/.virtualenvs 中创建了一个名为r-reticulate 的新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 

【问题讨论】:

    标签: python r-markdown reticulate


    【解决方案1】:

    经过更多挖掘,我注意到我没有最新版本的reticulate。升级到reticulate_1.9 似乎解决了模块导入错误。我成功地从我的r-reticulate env 导入了其他包,所以我相信它use_virtualenv(virtualenv = "r-reticulate") 现在可以正常工作了。

    【讨论】:

    • 更新到最新的 CRAN 对我不起作用,但更新到最新的 Github 有效。我不知道为什么。有需要的可以跑:devtools::install_github("rstudio/reticulate")
    猜你喜欢
    • 2014-08-09
    • 2020-07-02
    • 2022-09-27
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    相关资源
    最近更新 更多