Как видно из названия говорит:Почему ln из подпроцесса Python выходит из строя, когда ему удается выполнить обычную командную строку?
>>> from subprocess import check_output
>>> check_output(['ln', '~/other_folder/src/models/sc_models.py', './src/models/sc_models.py'])
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '['ln', '~/other_folder/src/models/sc_models.py', './src/models/sc_models.py']' returned non-zero exit status 1
>>> exit()
$ ln ~/other_folder/src/models/sc_models.py ./src/models/sc_models.py
$
Как это может быть? Как это может произойти из командной строки, но не удается выполнить вызов подпроцесса Python?
Все советы приветствуются!
Попробуйте добавить команду 'shell = True' в команду check_output. – SwankSwashbucklers
Не объединяйте' shell = True' со списком аргументов. – chepner