如何用python设置环境变量?

How to set environment variables with python?

我希望使用 python 读取 .env 文件并公开环境变量,以便同一环境中的其他脚本可以访问它们。我有这个脚本:

from dotenv import load_dotenv
import os

load_dotenv("common.env")
print(os.environ["CONFIG_FOLDER_NAME"])

当我 运行 这个脚本打印出正确的值。

然而,当我尝试从另一个文件读取变量时,它们似乎并不存在。即使我 echo $CONFIG_FOLDER_NAME 它 return 是空的。

好的,根据上面的评论,为了帮助可能不知道这一点的未来用户,您不能使用 Python[= 在当前进程范围之外设置环境变量32=].

您可以让 python 了解一些变量并针对进程及其子进程的范围更改 env 变量。但是您不能在系统本身或其他进程(不是当前进程的子进程)中设置 env 的值。例如,如果我设置一个名为 HOST_URL 的 env 变量,它实际上不会在系统环境中访问。

我找到了三种实际设置变量的方法:

  1. 运行 bash 设置环境变量值的脚本
  2. 使用 VSCode launch.json 设置变量 envenvFile
  3. 通过 Docker 文件或 docker-compose.yml 定义它们(如果您正在容器化您的应用程序)

注: 如果有其他选项可以解决这个问题,请发表评论,我会添加它们。我希望这对像我这样的新开发人员有帮助 post。羞辱和无益的评论从来没有帮助任何人或改善任何事情。这是,或者应该是,一个学习和知识交流平台,它应该对所有编程问题开放Stack Overflow Isn’t Very Welcoming. It’s Time for That to Change