对于上下文,我试图运行试图读取环境变量并吐出错误的代码:
_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并运行os.environ,将打印以下内容:
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\Kingdel\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'KINGDEL', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'CONDA_DEFAULT_ENV': 'PointLock_pyspin', 'CONDA_PREFIX': 'C:\\ProgramData\\Anaconda3\\envs\\PointLock_pyspin', 'CONDA_PROMPT_MODIFIER': '(PointLock_pyspin) ', 'CONDA_SHLVL': '1', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'FC2PATH': 'C:\\Program Files\\Point Grey Research\\FlyCapture2\\bin64', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\Kingdel', 'IDEA_INITIAL_DIRECTORY': 'C:\\Users\\Kingdel\\Desktop', 'LOCALAPPDATA': 'C:\\Users\\Kingdel\\AppData\\Local', 'LOGONSERVER': '\\\\KINGDEL', 'NIEXTCCOMPILERSUPP': 'C:\\Program Files (x86)\\National Instruments\\Shared\\ExternalCompilerSupport\\C\\', 'NUMBER_OF_PROCESSORS': '4', 'ONEDRIVE': 'C:\\Users\\Kingdel\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'C:\\ProgramData\\Anaconda3\\envs\\PointLock_pyspin;C:\\ProgramData\\Anaconda3\\envs\\PointLock_pyspin\\Library\\mingw-w64\\bin;C:\\ProgramData\\Anaconda3\\envs\\PointLock_pyspin\\Library\\usr\\bin;C:\\ProgramData\\Anaconda3\\envs\\PointLock_pyspin\\Library\\bin;C:\\ProgramData\\Anaconda3\\envs\\PointLock_pyspin\\Scripts;C:\\ProgramData\\Anaconda3\\envs\\PointLock_pyspin\\bin;C:\\ProgramData\\Anaconda3\\condabin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0;C:\\WINDOWS\\System32\\OpenSSH;C:\\Program Files (x86)\\IVI Foundation\\VISA\\WinNT\\Bin;C:\\Program Files\\IVI Foundation\\VISA\\Win64\\Bin;C:\\Program Files (x86)\\IVI Foundation\\VISA\\WinNT\\Bin;C:\\Program Files\\MATLAB\\R2012b\\runtime\\win64;C:\\Program Files\\MATLAB\\R2012b\\bin;C:\\Program Files\\Microsoft Windows Performance Toolkit;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Point Grey Research\\FlyCapture2\\bin64;C:\\Program Files\\Point Grey Research\\FlyCapture2\\bin64\\vs2013;C:\\Program Files\\Point Grey Research\\FlyCapture2\\bin64\\vs2015;C:\\Users\\Kingdel\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\Kingdel\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\Kingdel\\AppData\\Local\\Microsoft\\WindowsApps;.', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 58 Stepping 9, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '3a09', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT': '(PointLock_pyspin) $P$G', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PUBLIC': 'C:\\Users\\Public', 'PYCHARM_HOSTED': '1', 'PYTHONIOENCODING': 'UTF-8', 'PYTHONPATH': 'C:\\Users\\Kingdel\\Documents\\GitHub\\spinnaker_python', 'PYTHONUNBUFFERED': '1', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS', 'TEMP': 'C:\\Users\\Kingdel\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\Kingdel\\AppData\\Local\\Temp', 'USERDOMAIN': 'KINGDEL', 'USERDOMAIN_ROAMINGPROFILE': 'KINGDEL', 'USERNAME': 'Kingdel', 'USERPROFILE': 'C:\\Users\\Kingdel', 'VS100COMNTOOLS': 'C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools\\', 'VXIPNPPATH': 'C:\\Program Files (x86)\\IVI Foundation\\VISA\\', 'VXIPNPPATH64': 'C:\\Program Files\\IVI Foundation\\VISA\\', 'WINDIR': 'C:\\WINDOWS'})无论如何,重点是它是一组与我在windows系统属性->高级->环境变量中看到的不同的变量:

而且,os.environ打印的内容似乎也不是我当前用户的用户变量。
无论如何,我的主要问题当然是,如果FLIR_GENTL64_CTI_VS140是一个环境变量,至少在我的系统中,那么如何让它在我的python中显示为一个环境变量呢?
我怀疑答案与python os.environ['USERNAME']是'Kingdel‘有关,而->高级->环境变量中列出的环境变量是'SYSTEM'。这可能是因为python安装在用户Kindel上,而不是上面的任何用户上。但是,我希望找到一种不需要重新安装python的解决方案。有os.change_user类型的命令吗?或者我可以从我的系统克隆环境变量到适当的用户,或者类似的东西?
谢谢!
我试着卸载我正在使用的SDK (及其相关程序),并将其重新安装到我的用户上,而不是直接安装在C驱动器上,认为这可能会自动在我的用户上创建正确的变量,但结果发现我无法在用户目录中安装该程序(可能这是windows的问题,因为我主要是Mac用户)。
我试图找到一种使用os.setuid()更改python用户的方法,但我找到的解决方案使用pwd包,但这是在windows上完成的;因此,我无法这样做,也找不到工作。
发布于 2022-11-18 01:12:52
问题已经解决了。os.environ现在输出在windows系统属性->Advanced->环境变量中找到的环境变量。
我只是猜测,但我认为重新启动我的windows机器解决了这个问题。我删除了我的conda环境。我卸载了Spinnaker SDK,然后重新安装了Spinnaker SDK--与最初安装的位置相同。然后,我再次从头开始创建我的环境,并遵循相同的安装过程,除了在我的path (在windows系统属性中->高级->环境变量中)添加到我的环境的路径( conda ),它包含python。
老实说,我认为卸载/重新安装或添加路径没有什么效果,因为问题是os.environ打印不同的环境变量,而不是在windows属性->Advanced->环境变量中列出的,这似乎很奇怪。
名义上,我希望这与os.environ将其映射到我的环境变量(根据docs是在导入os时)进行映射有关。显然,每次运行代码时,我都会重新运行该导入,但是它没有被更新。由于怀疑这可能与我打开IDE时有关,所以我关闭并重新启动了IDE,但这没有起到任何作用。所以,我想我重新启动的时候已经修好了。或者,卸载过程并没有从我的系统中删除环境变量,以至于当我重新安装所有东西,包括我的新环境时,操作系统包就在这个环境上,也就是说,当os创建了它的映射时,这一次包含了我所需要的“新”环境变量。我不完全确定。
我想如果尝试使用python,安装所有东西一次,遇到问题时重新启动,然后可能卸载并重新安装。顺便说一下,在导入PySpin之前导入numpy。希望不会再有问题了!
https://stackoverflow.com/questions/74483730
复制相似问题