简体   繁体   中英

Python set environment variable when creating venv

In my project I use the built-in python virtual env ( python -m venv ).
To set environment variables I add multiple export VAR1=VALUE1 to the end of the venv/bin/activate .
Obviously, when I delete the venv and create a new one, for example with the new python version all my env variables get lost.
So, is there a way to preserve them? May be it is possible to define env variables when creating the venv?

instead of adding to activate

export VAR1=VALUE1

consider writing them into their own file:

~/setupenv.sh :

export VAR1=VALUE1

and add the following to activate

source ~/setupenv.sh

However, personally, I would not do that. I would instead define a bash function to do it:

myownactivate(){
  source <path_to_activate>
  export VAR1=VALUE1
}

Use dotenv

Essentially, you have to create a simple .env file that containsyour variables and values and it will load them when you run your application.

You can access them by os.getenv('VAR1')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM