Credo che eseguire un comando esterno con un ambiente leggermente modificato sia un caso molto comune. È così che tendo a farlo:
import subprocess, os
my_env = os.environ
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)
Ho la sensazione che ci sia un modo migliore; sembra a posto?
/usr/sbin
:-)
os.pathsep
invece di ":" per i percorsi che funzionano su più piattaforme. Vedere stackoverflow.com/questions/1499019/...