Search code examples
pythonshellsubprocesscommand

Execute custom command using subprocess that is in PATH variable


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.


Solution

  • 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'] += os.pathsep + '/full/path/to/'
    subprocess.run('command.sh')