2016-12-24 1 views
1

В контексте: Я нахожусь на macOS, разрабатывая Spyder. Я установил TeX с MACTeX.subprocess.Popen (cmd) не находит команду, которая может быть запущена в терминале

Я работаю над созданием автоматического текстового документа, и я хотел бы использовать решение, предложенное здесь: Generating pdf-latex with python script

Когда excecuting сценарий питона в Spyder, я повешу на линии вызывающего «subprocess.Popen (ЦМД)» , Ошибка:

FileNotFoundError: [Errno 2] No such file or directory: 'pdflatex'" 

Если я пытаюсь выполнить команду pdflatex в терминале, он находит команду и выполняет ее безупречно.

У меня, вероятно, отсутствует путь или что-то подобное, хотя я озадачен своим сообщением об ошибке, поскольку он упоминает как отсутствующий файл, и я ожидал бы отсутствующую команду.

+1

Try 'subprocess.Popen ([ 'pdflatex'], оболочки = True)'. –

+0

Это трюк, спасибо Майку! – MAC

+0

Отлично. Сделал ответ. –

ответ

1

Вам нужно установить shell=True, чтобы получить правильные настройки оболочки:

subprocess.Popen(['pdflatex'], shell=True) 
+0

Хорошо, я перешел от ошибки к ошибке: D. Первое, что я получил при использовании решения, - это ошибка 127 (команда не найдена), которую я решил передать команде полный путь «/ Library/TeX/texbin/pdflatex», который найден с помощью команды «which pdflatex» в Terminal. Теперь я сталкиваюсь с ошибкой 1 ... все еще копаю. – MAC

+0

Хорошо, я подошел к концу. Одна из моих проблем - это то, что я использовал tcsh в качестве оболочки по умолчанию для macOS. Я изменил его на bash (что нормально для текущих версий OSX). Теперь использование полного пути для вызова pdflatex, как указано выше, выполняется отлично без ошибок. – MAC

Смежные вопросы