Python创建venv时设置环境变量

Vla*_*ich 6 python environment-variables virtualenv python-3.x python-venv

在我的项目中,我使用内置的 python 虚拟环境 ( python -m venv)。
为了设置环境变量,我将多个添加export VAR1=VALUE1venv/bin/activate.
显然,当我删除 venv 并创建一个新的 venv 时,例如使用新的 python 版本,我的所有 env 变量都会丢失。
那么,有没有办法保存它们呢?也许可以在创建 venv 时定义 env 变量?

JL *_*ret 6

而不是添加到activate

export VAR1=VALUE1
Run Code Online (Sandbox Code Playgroud)

考虑将它们写入自己的文件中:

〜/ setupenv.sh

export VAR1=VALUE1
Run Code Online (Sandbox Code Playgroud)

并将以下内容添加到activate

source ~/setupenv.sh
Run Code Online (Sandbox Code Playgroud)

然而,就我个人而言,我不会这样做。我会定义一个 bash 函数来执行此操作:

myownactivate(){
  source <path_to_activate>
  export VAR1=VALUE1
}
Run Code Online (Sandbox Code Playgroud)


sag*_*025 1

使用dotenv

本质上,您必须创建一个.env包含变量和值的简单文件,它会在您运行应用程序时加载它们。

您可以通过以下方式访问它们os.getenv('VAR1')