许可密钥

要使用 xlwings PRO 功能,您需要使用许可密钥。xlwings PRO 许可密钥是离线验证的(即,不涉及遥测或许可服务器)。有两种类型的许可密钥:

  • 开发者密钥: 这是在购买后提供给您的密钥。正如名称所示,开发者密钥应由开发人员使用,即编写 xlwings 代码的人。开发者密钥对一个或多个开发人员有效(具体取决于您的计划),并在 1 年后过期。

  • 部署密钥: 创建部署密钥需要已激活的开发者密钥。正如名称所示,部署密钥应用于工作簿向最终用户的部署或与 xlwings Server 一起使用。部署密钥不会过期,但绑定到特定版本的 xlwings,这意味着每次更新 xlwings 时都需要生成一个新的部署密钥(如下所述,该命令会自动处理)注意,您无法通过试用许可生成部署密钥。xlwings release command handles this automatically as we’ll see below). Note that you can’t generate deploy keys with a trial license.

现在让我们看看如何获取和激活许可密钥。

如何获取许可密钥

商业用途的许可密钥:

  • 若要在商业环境中免费试用 xlwings PRO,请申请试用许可密钥:https://www.xlwings.org/trial

  • 若要在商业环境中超过试用范围使用 xlwings PRO,您需要加入付费计划(这些计划包括额外的服务,如支持和创建一键安装程序的能力):https://www.xlwings.org/pricing

非商业用途的许可密钥:

  • 若要在非商业环境中(根据定义)免费使用 xlwings PRO,请使用以下许可密钥:PolyForm 非商业许可证 1.0.0) use the following license key: noncommercial(请注意,您需要至少 xlwings 0.26.0 版本)。

激活开发者密钥

要在本地开发环境中使用 xlwings PRO,最简单的方法是运行以下命令:

xlwings license update -k YOUR_LICENSE_KEY

确保将YOUR_LICENSE_KEY替换为您的实际密钥。这将存储许可密钥在您的xlwings.conf文件(参见用户配置:Ribbon/配置文件中(有关其系统中的位置)。或者,您也可以通过设置环境变量来激活许可密钥,如下所述。

将开发者密钥或部署密钥设置为环境变量

对于 xlwings Server 部署,建议通过XLWINGS_LICENSE_KEY环境变量设置许可密钥。如何设置环境变量取决于您使用的操作系统。托管服务通常允许您通过用户界面将环境变量设置为秘密,并且许多系统和框架(如 Docker)可以配置为从本地读取环境变量.env文件。

设置环境变量也是一种方便的方式,适用于您的本地开发环境。只需确保在设置环境变量后重新启动您的代码编辑器、IDE 或终端/命令提示符。

生成部署密钥

使用已激活的开发者密钥,您可以这样生成部署密钥:

xlwings license deploy

确保您以相同的 xlwings 版本运行此命令,就像您将在部署中使用的版本一样。为了方便起见,当您运行此命令时,xlwings 版本将作为第一行打印出来,但您也可以通过在终端/命令提示符中运行以下命令查询 xlwings 版本:python -c "import xlwings;print(xlwings.__version__)"

注意,如果您使用xlwings release命令,您的工作簿的xlwings.conf表格将自动更新为正确的部署密钥,如下所述。

使用“xlwings release”命令在工作簿中更新部署密钥

The xlwings release命令是为部署准备工作簿的推荐方法。它负责:

  • xlwings.conf表格中设置部署密钥

  • 根据需要嵌入代码

  • 更新 xlwings VBA 模块,因此无需在最终用户的机器上使用 xlwings 插件

更多详细信息,请参阅1-点击安装程序下的步骤 2.

手动在工作簿中更新部署密钥

要手动使用部署密钥更新工作簿进行部署:

  • 运行xlwings license deploy,请参见上面

  • 将部署密钥粘贴到您的xlwings.conf表格中作为LICENSE_KEY,参见xlwings.conf 表格

在代码中设置许可密钥

如果您通过直接运行 Python 脚本来使用 xlwings PRO(例如,作为一个冻结的可执行文件),则最好直接在代码中设置部署密钥:

import os
os.environ["XLWINGS_LICENSE_KEY"] = "YOUR_DEPLOY_KEY"

必须在导入 xlwings 之前运行这些行。并且最佳实践是将部署密钥存储在外部配置文件中,而不是直接将其硬编码在代码中。