Set shell environment variable via python script
Question: I have some instrument which requires environment variable which I want to set
automatically from python code. So I tried several ways to make it happen, but
none of them were successful. Here are some examples:

  1. I insert following code in my python script
    
        import os
    os.system("export ENV_VAR=/some_path")
    

  2. I created bash script(env.sh) and run it from python:
    
        #!/bin/bash
    export ENV_VAR=some_path
    
    #call it from python
    os.system("source env.sh")
    

  3. I also tried _os.putenv()_ and _os.environ_["ENV_VAR"] = "some_path"

> Is it possible to set(export) environment variable using python, i.e without
> directly exporting it to shell?


Answer: Setting an environment variable sets it only for the current process and any
child processes it launches. So using `os.system` will set it only for the
shell that is running to execute the command you provided. When that command
finishes, the shell goes away, and so does the environment variable. Setting
it using `os.putenv` or `os.environ` has a similar effect; the environment
variables are set for the Python process and any children of it.

I assume you are trying to have those variables set for the shell that you
launch the script from, or globally. That can't work because the shell (or
other process) is not a child of the Python script in which you are setting
the variable.

