如何用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 变量,它实际上不会在系统环境中访问。
我找到了三种实际设置变量的方法:
- 运行 bash 设置环境变量值的脚本
- 使用 VSCode
launch.json
设置变量 env
或 envFile
- 通过
Docker
文件或 docker-compose.yml
定义它们(如果您正在容器化您的应用程序)
注:
如果有其他选项可以解决这个问题,请发表评论,我会添加它们。我希望这对像我这样的新开发人员有帮助 post。羞辱和无益的评论从来没有帮助任何人或改善任何事情。这是,或者应该是,一个学习和知识交流平台,它应该对所有编程问题开放Stack Overflow Isn’t Very Welcoming. It’s Time for That to Change
我希望使用 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 变量,它实际上不会在系统环境中访问。
我找到了三种实际设置变量的方法:
- 运行 bash 设置环境变量值的脚本
- 使用 VSCode
launch.json
设置变量env
或envFile
- 通过
Docker
文件或docker-compose.yml
定义它们(如果您正在容器化您的应用程序)
注: 如果有其他选项可以解决这个问题,请发表评论,我会添加它们。我希望这对像我这样的新开发人员有帮助 post。羞辱和无益的评论从来没有帮助任何人或改善任何事情。这是,或者应该是,一个学习和知识交流平台,它应该对所有编程问题开放Stack Overflow Isn’t Very Welcoming. It’s Time for That to Change