Could someone explain this error to me :
>>> def j():
... import subprocess
... print(subprocess.Popen(['command', '-v', 'nmcli'], stdout=subprocess.PIPE, stderr=subprocess.PIPE))
...
>>> j()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in j
File "/usr/lib/python3.4/subprocess.py", line 859, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.4/subprocess.py", line 1457, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'command'
I tried as a string as a list, it does not change anything.
Thank you,
command
is a shell builtin.subprocess.Popen
does NOT run the shell by default.To run the shell, pass
shell=True
:To find the full path to an executable, you could use
shutil.which()
instead: