overview 我有一个Python脚本打开Excel工作簿,进行了一些更改,然后保存它。这只是一系列Excel处理操作中的一步,其中大多数是用R编写的。我的最终目标是从看起来大致喜欢的单个R脚本中运行所有操作:
library(reticulate)
source('step1.r')
source_python('step2.py')
source('step3.r)
...
Python中运行并运行良好。但是,当我尝试使用reticulate
here是一个最小可重复的示例: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脚本,使用R版本4.4.0:
library(reticulate)
source_python(r"(C:\Users\myname\.spyder-py3\temp.py)") # this is the problem line
输出: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
如果我遵循
Xlwings安装,并在rstudio终端中运行这两个:
Successfully installed pywin32-308 xlwings-0.33.9
和
pip install "xlwings[all]"
。
两者都没有问题完成过程。
但xlwings addin install
仍然在R中出现相同的错误,声称我没有安装source_python(r"(C:\Users\myname\.spyder-py3\temp.py)")
。
我尝试过的其他东西
pywin32
在py_require('xlwings')
线之前没有区别。 我尝试了此答案的
Run_python_file函数,该功能试图自动安装缺少的软件包。同样的错误
在Xlwingsgit上报告了问题,描述了问题,但对于Python
。请记住,我的Python脚本在Spyder IDE中运行良好。只有当我尝试使用网状填充R中的Python脚本时,我的错误才会发生。但是我给了一个镜头:“如果一切都失败了,使用Miniconda分布并通过source_python
安装它通常解决这些问题。”我的Anaconda提示(Miniconda3)无法正常工作,在带领我登上野蛮的Chase建立SSL证书之后。
conda install pywin32
西格。当然,在我花了几个小时的研究和写出一个堆叠的问题之后,我发现thevent的答案隐藏在其他答案中。 rstudio>工具>全局选项> python> select(您的python解释器)>虚拟环境>
# All requested packages already installed
>选择> apply>apply
现在,现在像个魅力一样工作