LabVIEW运行带有多进程模块的Python脚本时会卡死

更新 Nov 29, 2024

适用于

软件

  • LabVIEW

程式语言

  • Python

问题详述

我正在使用 Python Node 在 LabVIEW 中调用带有多进程模块的 Python 脚本。该Python脚本在 LabVIEW 2023 Q1 之前的版本可正常运行。但是,当使用 LabVIEW 2023 Q1 及更高版本执行相同的 Python 脚本时,LabVIEW 会卡死,并且无法中止或停止 VI。仅当脚本内有调用multiprocessing.Manager时才会发生此问题。如果直接从 Python 运行,则不会发生此类行为,并且可以使用 Python 版本 3.8 至 3.12 在 LabVIEW 中重现此问题。我应该怎么做才能解决这个问题?

解决方案

NI 目前正在调查此问题。作为临时方案,您可以完成以下操作。请注意,在使用此临时方案后,您将无法使用 LabVIEW 2023 Q1 中引入的 Python 虚拟环境功能。

  1. 打开以下的文件夹:
    • 对于 LabVIEW 32 位: C:\Program Files (x86)\National Instruments\LabVIEW <Version>
    • 对于 LabVIEW 64 位: C:\Program Files\National Instruments\LabVIEW <Version>
  2. 使用文本编辑器打开LabVIEW.ini
  3. 将以下标记添加到LabVIEW.ini中:
    • PythonNode.UsePythonExecutable=False
  4. 保存并关闭LabVIEW.ini
  5. 重新启动 LabVIEW 并执行 Python 代码