首页 > 编程问答 >如何将相对路径设置为解释器路径 xlwings 自定义加载项

如何将相对路径设置为解释器路径 xlwings 自定义加载项

时间:2024-07-26 05:56:39浏览次数:16  
标签:python excel path interpreter xlwings

我使用 xlwings 制作了自定义加载项。我有一本字典,其中: phodnota.py phodnota.xlam Python311 (带有 python 解释器和所有需要的库的字典)。问题是,当我尝试添加到解释器路径相对路径 Python311\python.exe 时,它​​不起作用。我不断收到错误。我找不到解释器,但是当我添加像 C:\Users 这样的整个路径时......它可以工作。我的问题是:有没有办法添加到解释器路径相对路径?感谢帮助。


当然可以!可以使用相对路径将解释器路径添加到的 xlwings 自定义加载项中。以下是操作方法:

1. 了解相对路径:

  • 相对路径是相对于当前工作目录的路径。在 Excel 的情况下,当前工作目录通常是打开 Excel 文件所在的文件夹。
  • 使用 . 表示当前目录, .. 表示上一级目录。

2. 在 xlwings.conf 文件中设置相对路径:

  • 在的 phodnota.xlam 文件所在的文件夹中创建一个名为 xlwings.conf 的文件(如果它不存在)。
  • xlwings.conf 文件中,添加以下行,将 Python311 替换为的 Python 安装文件夹的实际名称:

[DEFAULT] INTERPRETER = .\Python311\python.exe

这会将解释器路径设置为相对于 xlwings.conf 文件位置的 Python311 文件夹中的 python.exe

3. 测试的加载项:

  • 确保的 Excel 文件、 phodnota.xlam Python311 文件夹都在同一个父文件夹中。
  • 打开的 Excel 文件并测试的加载项。

其他注意事项:

  • 确保在 xlwings.conf 文件中使用的路径分隔符是反斜杠 ( \ ),即使在 Windows 系统上也是如此。
  • 如果在不同的计算机上使用加载项,则相对路径可能会有所不同,具体取决于文件结构。 在这种情况下,可能需要创建一个安装程序,该安装程序在目标计算机上创建正确的文件结构。
  • 也可以使用 sys.path.append() 方法在 phodnota.py 文件中动态地添加 Python 搜索路径。例如:

python import sys import os sys.path.append(os.path.join(os.path.dirname(__file__), 'Python311')) 这会将 Python311 文件夹添加到 Python 搜索路径中,允许导入该文件夹中的模块。

希望以上信息对有所帮助! 如果还有其他问题,请随时提问。

标签:python,excel,path,interpreter,xlwings
From: 78380117

相关文章

  • Azure Open AI - Python 和 Java API 之间 gpt4o 的结果截然不同
    我使用Java和PythonAPI对AzureOpenAI进行相同的调用,但收到截然不同的结果:相同的系统提示相同的用户提示适用于Java和Python的azureai包的相同(最新)版本尽管输入的用户和系统提示完全相同,但响应却非常不同-python提示是“正确的”并......
  • leetcode 输出错误? (Python)
    我的VSCode/本地终端给出了[1,4,1,5,1,6]的正确输出,但不知何故leetcode给了我完全不同的输出。我在这里错过了什么吗?这怎么可能?顺便说一下,这是wigglesort2将我的本地代码复制粘贴到leetcode中给出了不同的输出数组很难在没有看到你的代码的情况下......
  • 当 python 窗口的一部分不在屏幕上时,如何让它自己被记录?
    在Windows10中,大多数应用程序窗口都可以使用OBS等程序进行记录。当窗口被拖动以致其部分内容在显示屏上不可见时,通常OBS仍会接收窗口的内容,即使它在屏幕上不可见。但是,在编写python应用程序时,这似乎不以相同的方式工作。我尝试了几种不同的类似GUI的模块......
  • 使用 aws cdk 设置用户池客户端属性以具有读/写访问权限 - Python
    我试图根据属性给予一些自定义属性特定的读/写访问权限。我收到此错误。资源处理程序返回消息:“无效写入创建客户端时指定的属性(服务:CognitoIdentityProvider,状态代码:400,请求ID:<request_id>)”(RequestToken:<request_token>,HandlerErrorCode:InvalidRequest)任何人都可以为......
  • 试图找出此页面的逻辑:存储了大约 ++ 100 个结果 - 并使用 Python 和 BS4 进行了解析
    试图找出此页面背后的逻辑:我们已将一些结果存储在以下数据库中:https://www.raiffeisen.ch/rch/de/ueber-uns/raiffeisen-gruppe/Organization/raiffeisenbanken/deutsche-schweiz.html#accordionitem_18104049731620873397从a到z大约:120个结果或更多:......
  • 如何在 Numpy Python 中将 4 维数组的下三角形复制到上三角形?
    目标是将下三角形复制到上三角形。根据OP中提出的建议,起草了以下代码。importnumpyasnplw_up_pair=np.tril_indices(4,-1)arr=np.zeros((4,4,1,1))arr[1,:1,:,0]=1arr[2,:2,0,0]=2arr[3,:3,0,0]=3arr=arr+arr.T-np.diag(np.diag(arr))但是,它......
  • 如何在 Python 中对多行使用单个 INSERT INTO 语句?
    我目前正在开发一个DiscordPython机器人,我在其中循环遍历ForumTags列表,并为每个对象生成INSERTINTOSQL语句以将数据插入MySQL数据库。但是,我想要通过将所有这些单独的INSERTINTO语句组合到单个查询中来优化我的代码,如下所示:INSERTINTO......
  • 双 for 循环的 Pythonic 方式
    我有以下代码:importnumpyasnpepsilon=np.array([[0.,0.00172667,0.00071437,0.00091779,0.00154501],[0.00128983,0.,0.00028139,0.00215905,0.00094862],[0.00035811,0.00018714,0.,0.00029365,0.00036993......
  • 在 matplotlib 中绘制一个字符串函数 // 将 str 解释为 python 代码?
    我正在创建一个RPN计算器,尝试绘制用户给出的函数。例如,如果用户输入"xsin3*plot"我希望它绘制sin(x)*3其代码如下。注意:问题在ifprompt=="plot"userInputX=""#userInputXisalwaysreplacedbefore......
  • Python (Pebble) - 超时功能。当 TimeoutError 发生时,获取从 iterable 传递给函数的值
    我正在尝试在Pebble中设置工作超时(基本上有效)frompebbleimportProcessPoolfrommultiprocessingimportProcess,Pool,cpu_countimporttimedeftest_fn(randomNumberFromList):#print(f'Beginngingforthisnumber:{randomNumberFromList}')ifr......