You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Markdown使用reticulate调用pandas出现ModuleNotFoundError求助

问题根源

你遇到的矛盾是因为两个完全独立的虚拟环境被混着用了:

  • 你通过knitr::opts_chunk$set指定的Python路径是Windows文件系统下的虚拟环境:/mnt/c/Users/steve/workspace/EDGI/EEW-ReportCard-Data/venv/bin/python
  • 但virtualenv_create('venv')默认在WSL本地的/home/steve/.virtualenvs/目录创建了另一个虚拟环境,py_install把pandas装到了这个本地环境里

当你执行import('pandas')时,reticulate调用的是你指定的Windows路径下的venv——这个环境里根本没装pandas,所以报错。

解决办法

两种方案任选其一:

方案一:用你指定的Windows路径下的虚拟环境

  1. 先清理自动创建的本地冗余venv(可选):
virtualenv_remove('venv')
  1. 修改代码,让virtualenv_create直接指向你原本设置的Windows路径:
knitr::opts_chunk$set(engine.path=list(python='/mnt/c/Users/steve/workspace/EDGI/EEW-ReportCard-Data/venv/bin/python'))
library(reticulate)
# 指定虚拟环境的完整路径,和engine.path对应
virtualenv_create(envname = '/mnt/c/Users/steve/workspace/EDGI/EEW-ReportCard-Data/venv')
py_install('pandas', envname='/mnt/c/Users/steve/workspace/EDGI/EEW-ReportCard-Data/venv')

u <- import('pandas')

方案二:用WSL本地的虚拟环境

放弃Windows路径的venv,统一用reticulate默认创建的本地环境:

library(reticulate)
virtualenv_create('venv')
py_install('pandas', envname='venv')
# 显式激活这个本地虚拟环境
use_virtualenv('venv')

u <- import('pandas')
额外提示
  • WSL访问Windows文件系统的虚拟环境可能有权限或兼容性问题,优先推荐用WSL本地的虚拟环境
  • 执行py_config()可以查看当前reticulate正在使用的Python环境,方便确认路径是否正确

内容的提问来源于stack exchange,提问作者user263782

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:49:06