У меня есть .sh script, который я вызываю с помощью source the_script.sh
. Регулярно звоните нормально. Тем не менее, я пытаюсь назвать это из моего python script, через subprocess.Popen
.
Вызвав его из Popen, я получаю следующие ошибки в следующих двух вызовах сценария:
foo = subprocess.Popen("source the_script.sh")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1213, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
>>> foo = subprocess.Popen("source the_script.sh", shell = True)
>>> /bin/sh: source: not found
Что дает? Почему я не могу назвать "источник" из Popen, когда могу выйти за пределы python?