如何为xlwings自定义加载项设置相对路径作为解释器路径?
xlwings加载项使用相对路径指定Python解释器的方法
可以用相对路径,但直接在加载项设置里写Python311\python.exe不行——原因是Excel加载项运行时的工作目录默认不是加载项文件所在的目录,而是Excel的默认启动目录(比如「我的文档」),系统会去错误的目录找Python解释器。
解决方法如下:
动态构造解释器路径
在你的phodnota.py脚本开头,先获取脚本自身所在的目录,再拼接Python解释器的相对路径,代码示例:import os import xlwings as xw # 获取当前脚本所在的绝对路径 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接Python解释器的路径 python_exe_path = os.path.join(script_dir, "Python311", "python.exe") # 设置xlwings的解释器路径 xw.settings.set("interpreter", python_exe_path)这样不管你的加载项目录被移动到哪里,只要
Python311文件夹和脚本在同一目录,就能正确找到解释器。验证工作目录(可选)
如果不确定当前工作目录,可以先在脚本里加一行代码打印出来,方便排查:import os print("当前工作目录:", os.getcwd())运行加载项后,控制台会输出实际的工作目录,你就能明白为什么直接写相对路径找不到文件。
内容的提问来源于stack exchange,提问作者IchNar
相关产品推荐
相关产品推荐

