assignment-to-os-environ (B003)
Derived from the flake8-bugbear linter.
What it does
Checks for assignments to os.environ
.
Why is this bad?
In Python, os.environ
is a mapping that represents the environment of the
current process.
However, reassigning to os.environ
does not clear the environment. Instead,
it merely updates the os.environ
for the current process. This can lead to
unexpected behavior, especially when running the program in a subprocess.
Instead, use os.environ.clear()
to clear the environment, or use the
env
argument of subprocess.Popen
to pass a custom environment to
a subprocess.
Example
Use instead: