【发布时间】:2016-04-21 15:04:24
【问题描述】:
是否可以使用 Python 3.5 在 Windows 和 Linux 中创建和更新环境变量以使其持久化?
目前我使用这个:
import os
os.environ["MY_VARIABLE"] = "TRUE"
然而,这似乎并没有持久地“存储”环境变量。
【问题讨论】:
-
环境变量特定于每个进程;您没有将它们存储到某种持久的外部“环境”中。如果要存储数据,请考虑使用文件。
-
破解它的一种方法:你可以
exec一个 bash shell,它会用一个继承新环境变量的 bash 进程覆盖你的 Python 进程。但是,这不会继承任何 bash 特定的东西,比如别名,因为它们不能从父级继承到子级(Python 进程一开始就不会得到它们)。 -
在 Windows 上,您可以尝试使用 [py_setenv][1] 模块,该模块将通过注册表 [1] 更新用户/系统变量:github.com/beliaev-maksim/py_setenv
标签: python python-3.x