首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让os.environ列出系统的环境变量,而不是用户?

如何让os.environ列出系统的环境变量,而不是用户?
EN

Stack Overflow用户
提问于 2022-11-18 00:36:42
回答 1查看 48关注 0票数 0

对于上下文,我试图运行试图读取环境变量并吐出错误的代码:

代码语言:javascript
运行
复制
_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,将打印以下内容:

代码语言:javascript
运行
复制
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上完成的;因此,我无法这样做,也找不到工作。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74483730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档