FileNotFoundError: во время работы *исполняемый файл исходного кода python, сгенерированный pyinstaller

#python-3.x #windows-10 #pyinstaller

Вопрос:

Код Python работает плавно в python ILDE ( версия python3.9.5). Затем я преобразовал файл *.py в *.exe с помощью pyinstaller. При запуске файла *.exe отображается ошибка «FileNotFound», которая не появляется во время выполнения файла *.py в python ILDE.

Вот снимок ошибки: введите описание изображения здесь

Ошибка: Исключение при обратном вызове Tkinter

Обратная связь (последний последний звонок):

Файл «tkinter_init_.py«, линия 1892, по вызову

Файл «gui_script.py», строка 284, в исполнении

Файл «script_lsprepost_report.py», строка 80, в func_report_automation

Файл «func_fileslsp_output.py», строка 25, в func_output_result

Файлообменник: [Ошибка 2] Такого файла или каталога нет: ‘D:/Glass_failure/M22_ball_drop/Iter_06_03/for_script/script_output/pid_4/Von_mises_stress_4.txt’

Пожалуйста, обратите внимание, что путь к файлу, который не был найден, на самом деле существует. Я проверил это вручную, указав весь путь в адресной строке на компьютере с Windows.

Ответ №1:

Да, я нашел решение.

Код предназначен для выполнения подпроцесса, который генерирует некоторый текстовый файл. После этого эти текстовые файлы должны быть прочитаны. Но код Python выполнял все строки одновременно. Следовательно, до того, как подпроцесс создаст эти текстовые файлы, следующая строка немедленно начнет выполняться и в конечном итоге выдаст ошибку как найденную в файле ошибку.

Поэтому, чтобы заставить код последовательно выполнять каждую строку, я сделал следующее в подпроцессе.

prog = подпроцесс.Popen(batfile_path, stdout=подпроцесс.ТРУБА,stderr=подпроцесс.ТРУБА) выходит, err = прогр.связь()