Home > database >  Execute custom command using subprocess that is in PATH variable
Execute custom command using subprocess that is in PATH variable

Time:11-25

I want to execute another program that I compiled earlier from python using the subprocess.call(command) function.

However, python states that it cannot find the command. I suspect that subprocess is not able to find my custom command since it does not know the PATH variable of my Ubuntu system. Is it possible to somehow execute the following code, where command is part of my PATH?

import subprocess
subprocess.run("command -args")

Running this code leads to the error command not found.

CodePudding user response:

You can either provide the explicit path to your command:

subprocess.run('/full/path/to/command.sh')

or else modify your PATH variable in your Python code:

import os
os.environ['PATH']  = ':' '/full/path/to/'
subprocess.run('command.sh')

CodePudding user response:

You can modify the environment variables. But be careful when you pass arguments.

Try something like this:

import os
import subprocess

my_env = os.environ.copy()
my_env["PATH"] = "/usr/test/path:"   my_env["PATH"]
subprocess.run(["command", "-args"], env=my_env)
  • Related