#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 = прогр.связь()