Here's how to change directory when shelling out to a process in python.
I'll show two methods. I want to run each process in the
run_path, set to some valid path. This example is a process called
pydeps, but it could be anything,
os.getcwd(), what have you.
import subprocess process = subprocess.Popen(f"pydeps --no-output --show-deps --max-bacon=0 .".split(), cwd=run_path, stdout=subprocess.PIPE)
import os import subprocess os.chdir(run_path) process = subprocess.Popen(f"pydeps --no-output --show-deps --max-bacon=0 .".split(), stdout=subprocess.PIPE) os.chdir(service_path) output, error = process.communicate()
Both should work, but depending on the command, output may differ. At least in my current circumstance it does, though I'm still unsure why.