许可密钥¶
要使用 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 之前运行这些行。并且最佳实践是将部署密钥存储在外部配置文件中,而不是直接将其硬编码在代码中。