【发布时间】:2010-10-04 01:17:54
【问题描述】:
根据我的阅读,对 Python 实例中环境变量的任何更改仅在该实例中可用,并且在实例关闭后消失。有什么办法可以通过将它们提交到系统来让它们坚持下去?
我需要这样做的原因是因为在我工作的工作室中,像 Maya 这样的工具严重依赖环境变量来配置跨多个平台的路径。
我的测试代码是
import os
os.environ['FAKE'] = 'C:\\'
打开另一个 Python 实例并请求 os.environ['FAKE'] 会生成 KeyError。
注意:可移植性将是一个问题,但我正在编写的小 API 将能够检查操作系统版本并在必要时触发不同的命令。
也就是说,我已经走上了使用 Windows 注册表技术的路线,并且将简单地编写替代方法,以便在需要时调用其他平台上的 shell 脚本。
【问题讨论】:
-
对于windows我可以推荐一个模块来通过注册表设置变量。还有 CLI 应用程序:github.com/beliaev-maksim/py_setenv 这对用户/系统级别有很好的控制,并且没有 setx 的长度限制
标签: python environment-variables