机器人应用程序所用的 Python 将升级到 3.11 版

Diligent 正在对机器人应用程序使用的 Python 版本进行升级。根据以下时间表,基于云的机器人代理将从 Python 3.8.x 升级到 Python 3.11.x。在过渡期间,机器人应用程序可以支持这两个 Python 版本。

此次升级还包括对相关资源库的升级,包括将 Pandas 从版本 1.2.4 升级至 2.2.0,将 Requests 从版本 2.26.0 升级至 2.31.0。

如果贵组织使用 HighBond 机器人应用程序或工作流机器人应用程序,请阅读本主题,以便熟悉升级的影响。

Python 软件基金会宣布,Python 3.8 的使用周期将于 2024 年 10 月 14 日正式结束。

对客户的影响

如果升级到 Python 3.11, 您的一个或多个 Python/HCL 脚本可能会受到影响。如果在 Python 3.8 中运行的脚本逻辑不再能够在 Python 3.11 中运行,您需要更新该脚本逻辑。

说明

  • 在机器人主页上会出现一个表,表中列出了已激活的脚本中包含即将过时的 Python 代码的所有机器人。
  • 如果机器人已激活的脚本中包含即将过时的 Python 代码,则机器人上会出现一个警告图标。一旦您将机器人升级到最新的包并激活脚本,此图标就会消失。

机器人应用程序的客户不能选择退出 Python 升级。

检查现有脚本是否能在 Python 3.11 中顺利运行的最简单方法,就是在机器人脚本编辑器中打开并尝试运行它们。有关详细信息和注意事项,请参见在机器人脚本编辑器中测试现有 Python/HCL 脚本

重要信息

请您在 2024 年 10 月 14 日之前,留出足够的时间来测试所有 Python/HCL 脚本;在此日期之后,机器人应用程序将不再支持 Python 3.8。请在上述截止日期之前进行必要的脚本更新,以免预定的机器人任务受到干扰。

升级时间表

预计日期 受影响区域 详细信息
2023 年 12 月中旬 HighBond 机器人

新创建的脚本

  • 在 Python 3.11、Pandas 1.2.4 和 Requests 2.26.0 中运行。不存在其他选项。

Python 升级前创建的现有脚本

  • 在预定的任务中,只要脚本未经编辑,就会继续在 Python 3.8 中运行。

  • 如果是在机器人脚本编辑器中打开,那么默认情况下将在 Python 3.11 中运行。在有限的一段时间内,脚本编辑器会提供一个选项,用于通过手动操作将现有脚本降级为在 Python 3.8 中运行。

2024 年 4 月 4 日 HighBond 机器人

新创建的脚本

  • 在具有相应库(Python 3.11、Pandas 2.2.0 和 Requests 2.31.0)的最新版 Python 中运行。不存在其他选项。

2023 年 12 月 Python 升级前创建的现有脚本

  • 在预定的任务中,只要脚本未经编辑,就会继续在 Python 3.8 中运行。

  • 如果在机器人应用程序脚本编辑器中打开脚本,则默认为在具有相应库(Python 3.11、Pandas 2.2.0 和 Requests 2.31.0)的最新版 Python 中运行。脚本编辑器提供一个选项,可在 2024 年 6 月底前,通过手动操作将现有脚本降级为在 Python 3.8 中运行。

2023 年 12 月后升级到 Python 3.11 的脚本

  • 在预定的任务中,只要脚本未经编辑,就可以继续在具有旧库(Pandas 1.2.4、Requests 2.26.0)的 Python 3.11 中运行。

  • 如果在机器人应用程序脚本编辑器中打开脚本,则默认为在具有相应库(Python 3.11、Pandas 2.2.0、 Requests 2.31.0)的最新版 Python 中运行。脚本编辑器提供一个选项,可在 2024 年 6 月底前,通过手动操作将现有脚本降级为在具有旧库(Pandas 1.2.4、Requests 2.26.0)的 Python 3.11 中运行。

2024 年 4 月 4 日 工作流机器人

新创建的脚本

  • 在具有相应库(Python 3.11、Pandas 2.2.0 和 Requests 2.31.0)的最新版 Python 中运行。不存在其他选项。

Python 升级前创建的现有脚本

  • 在预定的任务中,只要脚本未经编辑,就会继续在 Python 3.8 中运行。

  • 如果是在机器人脚本编辑器中打开,那么默认情况下将在 Python 3.11 中运行。脚本编辑器提供一个选项,可在 2024 年 6 月底前,通过手动操作将现有脚本降级为在 Python 3.8 中运行。

2024 年 7 月 4 日

HighBond 机器人

工作流机器人

Python 升级前创建的现有脚本

对于使用旧资源库(Pandas 1.2.4、Requests 2.26.0)的 Python 3.8 或 3.11 代码的脚本,不能以手动方式降级、上传或激活。此外,与 Python 3.11 (HCL 3.0.*) 不兼容的脚本无法通过 API 或工具包上传或激活。

2024 年 7 月 12 日

HighBond 机器人

工作流机器人

Python 升级前创建的现有脚本

  • 在机器人主页上会出现一个表,表中列出了已激活的脚本中包含即将过时的 Python 代码的所有机器人。
  • 如果机器人已激活的脚本中包含即将过时的 Python 代码,则机器人上会出现一个警告图标。一旦您将机器人升级到最新的包并激活脚本,此图标就会消失。

2024 年 10 月 14 日

HighBond 机器人

工作流机器人

所有脚本(包括预定的任务中未经编辑的脚本)

  • 在具有新库(Pandas 2.2.0 和 Requests 2.31.0)的 Python 3.11 中运行。不存在其他选项。

Python 3.8 使用周期正式结束。请参阅 Python 版本的状态

在机器人脚本编辑器中测试现有 Python/HCL 脚本

注意

在机器人脚本编辑器中打开现有的 Python 脚本时,默认情况下会启动 Python 3.11 运行时环境。此外,也可能会更新已安装的 Python 依赖项(包)的指定版本。

在脚本编辑器中打开现有脚本

  1. 从启动面板主页 (www.highbond.com) 中,选择机器人应用程序以将其打开。

    如果您已经进入 Diligent One,可以使用左侧导航菜单切换到机器人应用程序。

  2. 从机器人应用程序的仪表盘中,选择相应机器人类型的选项卡:

    • HighBond 机器人应用程序

    • 工作流机器人应用程序

  3. 导航到机器人,然后选择该机器人以将其打开。

  4. 单击机器人应用程序右上角的开发按钮,即可切换到开发模式。

  5. 脚本版本选项卡中,选择要测试的脚本版本。

    通常,应选择已激活为生产模式的脚本版本。如果没有激活任何版本,那么除非您有选择其他版本的原因,否则请选择最新的脚本版本。

  6. 版本详情面板中,单击编辑脚本

    机器人脚本编辑器开始启动过程,并加载 Python 3.11 运行时环境。如果脚本当前成功运行,则不需要进行与运行时环境相关的测试。

检查运行时环境

在执行脚本测试时,您可能会发现在脚本编辑器中检查当前处于活动状态的运行时环境非常有用。

  1. 单击脚本中的第一个单元格。

  2. 单击该单元格左侧的“更多”图标 ,然后选择在上方添加单元格

  3. 在新建单元格中,粘贴以下代码:

    import sys 
    print(sys.version)
  4. 运行该单元格。

    结果会显示当前活动的运行时环境。例如:

    3.11.4 (main, Dec 15 2023, 23:07:06) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]
    3.8.17 (default, Dec 15 2023, 23:05:28) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]
  5. 完成脚本测试后,删除包含系统版本代码的单元格。

运行脚本对其进行测试

运行脚本以测试其是否与 Python 3.11 运行时环境兼容。

提示

如果由于导入和分析大型数据集而导致脚本通常需要很长时间才能完成,则可以临时修改脚本,使用小型样本数据集进行测试。使用少量数据可以让您更快地测试贵组织的脚本。

请注意,只修改目标数据集,不修改任何 Python 代码。

  1. 启动过程完成后,运行脚本进行测试。

    如果脚本成功运行到完成,则说明它与 Python 3.11 兼容。无需对脚本执行进一步测试。您可以保存并提交脚本,然后激活脚本,以便将其与 Python 3.11 运行时环境关联。请参阅保存并提交脚本激活脚本版本

  2. 如果脚本失败,您需要更新脚本逻辑,以便与 3.11 兼容。请参考 Python 资源,详细了解有关不同 Python 版本和其他关联资源库之间的差异。如果在更新脚本逻辑后脚本仍然失败,则该问题可能与 Python 运行时环境无关。您需要调试脚本。

保存并提交脚本

如果您保存并提交脚本,可以将其与 Python 3.11 运行时环境关联。

脚本状态 操作
在 Python 3.11 中成功运行
  • 脚本与 Python 3.11 运行时环境相关联

  • 无需进一步操作

在 Python 3.11 中失败

  • 更新脚本逻辑,使其能在 Python 3.11 中成功运行

验证脚本是否在 Python 3.11 运行时环境中

  1. 执行以下操作,以验证 Python 3.11 运行时环境当前在脚本编辑器中是否处于活动状态:

    检查运行时环境。请参见检查运行时环境

  2. 在脚本编辑器工具栏上,单击保存并提交

  3. 输入一条有意义的提交消息来描述您的更改。

    提示

    您可能会发现在提交消息中添加“在 Python 3.11 中运行”非常有用。

  4. 可选。选择将脚本输出保存到任务运行日志文件

    当您使用机器人任务运行脚本时,此选项会将所有脚本输出保存到日志文件。保存的输出在您开发脚本并对其进行故障排除时非常实用,方便查看。有关详细信息,请参阅将脚本输出保存到日志文件

  5. 单击提交以保存并提交该脚本。

    此时将显示消息您的脚本已被成功提交

  6. 在页面标题上,单击机器人名称。

    您将返回到该机器人中的脚本版本选项卡。每当您保存并提交脚本时,所保存的版本会被添加到此选项卡。

  7. 可选。验证脚本是否与 Python 3.11 运行时环境相关联:

    1. 选择刚保存的脚本版本。

    2. 版本详情面板中,单击下载

      将脚本下载到您的计算机。

    3. 在文本编辑器中打开脚本。

      关联的运行时环境会出现在脚本顶部:

      "runtime":"python3.11"

Python 资源

下表显示了 Python 和其他关联资源库的新增部分、发行说明和变更日志。使用这些资源来找出最新版本的 Python 和其他资源库中的变化。