使用R的reticulate调用Python脚本时提示缺少xlwings依赖pywin32
解决R中reticulate调用Python脚本时xlwings依赖pywin32报错问题
概述
我有一个Python脚本负责Excel工作簿的打开、修改与保存,这是一系列Excel处理流程中的一步,其余步骤均由R编写。目标是通过单个R脚本串联所有操作,核心代码框架如下:
library(reticulate) source('step1.r') source_python('step2.py') source('step3.r') ...
问题
该Python脚本在Spyder的Python环境中运行正常,但通过R的reticulate包调用时,持续触发依赖错误。
最小复现示例
- Python 3.11.1脚本
temp.py(Spyder中运行正常):
import xlwings as xw ATL = xw.Book(r'C:\Users\myname\Documents\test.xlsx') print("the end")
- R 4.4.0脚本:
library(reticulate) source_python(r"(C:\Users\myname\.spyder-py3\temp.py)") # 报错代码行
运行R脚本后输出错误:
Error in py_run_file_impl(file, local, convert) : xlwings.XlwingsError: Make sure to have "pywin32", a dependency of xlwings, installed.
已执行的安装操作
- 在RStudio终端执行
python -m pip install xlwings,输出显示成功安装pywin32-308和xlwings-0.33.9 - 按xlwings官方安装指引执行
pip install "xlwings[all]"和xlwings addin install,均无报错完成
但再次执行source_python(r"(C:\Users\myname\.spyder-py3\temp.py)")时,仍提示未安装pywin32。
已尝试的其他排查方法
- 在
source_python前添加py_require('xlwings'),无效果 - 尝试使用Stack Overflow上的
run_python_file函数,仍报错 - 通过miniconda执行
conda install pywin32,提示包已安装但问题未解决
寻求帮助
希望得到该问题的解决方法,也可推荐替代reticulate的R包。
内容的提问来源于stack exchange,提问作者dolphingang
相关产品推荐
相关产品推荐

