Как добавить .exe файл к python файлу pyinstaller? python
В общем есть 2 файла:
- main.py
- program.exe
main.py запускает program.exe после определенного кода с помощью os.startfile('program.exe')
При обычных условиях всё работает корректно, но когда я использую pyinstaller с параметром --add-data "program.exe;" и запускаю полученный exe файл, он выдает ошибку, что файл не найден.
Как это исправить? Мне надо чтобы exe файл был 1.
Ответы (1 шт):
Если вы используете относительный путь для запуска program.exe, то программа будет искать его в текущей рабочей директории, которая может быть разной при запуске исходного кода и запуске скомпилированного exe файла.
Чтобы решить эту проблему, можно использовать абсолютный путь к файлу program.exe. Для этого можно использовать функцию os.path.abspath() для получения абсолютного пути к файлу:
import os
# получение пути к папке с исполняемым файлом
exe_dir = os.path.dirname(os.path.abspath(__file__))
# получение абсолютного пути к файлу program.exe
program_path = os.path.join(exe_dir, "program.exe")
# запуск program.exe
os.startfile(program_path)