如何让Python读取Windows系统级环境变量FLIR_GENTL64_CTI_VS140
解决Python无法读取FLIR系统环境变量的问题
报错信息
_PySpin.SpinnakerException: Spinnaker: System instance cannot be acquired. Could not load producer. Make sure that the environment variable FLIR_GENTL64_CTI_VS140 exists, and points to the location of the file FLIR_GenTL_v140.cti [-1012]
问题背景
已在Windows系统属性-高级-环境变量中配置FLIR_GENTL64_CTI_VS140并指向正确文件,但Python的os.environ无法读取该变量,且输出的变量集与系统显示不一致。尝试过将SDK重装到用户目录、调用os.setuid()(Windows不支持)均无效,需在不重装Python的前提下解决。
解决方案
重启Python运行环境:Windows环境变量修改后,已启动的进程不会自动加载新配置。关闭所有Python相关窗口(IDE、命令行终端等),重新打开后执行
os.environ.get("FLIR_GENTL64_CTI_VS140")验证是否读取成功。手动在代码中注入环境变量:无需重启进程,在导入PySpin前手动设置变量(替换为你的实际CTI文件路径):
import os os.environ["FLIR_GENTL64_CTI_VS140"] = "C:\\Program Files\\FLIR Systems\\Spinnaker\\bin64\\FLIR_GenTL_v140.cti" import PySpin以管理员身份运行Python/IDE:部分系统级环境变量需要管理员权限才能被进程读取。右键点击Python解释器或IDE图标,选择「以管理员身份运行」后再执行代码测试。
确认环境变量作用域:检查
FLIR_GENTL64_CTI_VS140是否配置在「系统变量」而非「用户变量」中。如果是用户变量,当前运行Python的用户可能无读取权限,将其移至系统变量后重启进程即可。通过命令行手动传递变量:打开命令提示符,先设置变量再启动脚本:
set FLIR_GENTL64_CTI_VS140=C:\Program Files\FLIR Systems\Spinnaker\bin64\FLIR_GenTL_v140.cti python your_script.py
内容的提问来源于stack exchange,提问作者g_coding
相关产品推荐
相关产品推荐

