Я никогда раньше не создавал исполняемое приложение, но из того, что я читал, это довольно просто, используя py2exe для создания exe. Но у меня есть графический интерфейс, который использует Selenium для извлечения данных из бэкэнда (нет, я не могу использовать вызовы API). Как добавить chromedriver в исполняемый файл? Кроме того, будет ли выполняться весь импорт при использовании компилятора?






Когда вы компилируете файл .py в .exe (по моему личному опыту), все импорты включены.
Я бы лично предложил использовать pyinstaller. У меня было довольно много проблем с использованием py2exe, и как новичок я нашел pyinstaller гораздо более удобным для пользователя и более простым в устранении неполадок.
Поскольку компиляция файла не изменяет файл .py, я бы посоветовал привести его в полностью рабочее состояние и попробовать. Если он не работает или некоторые импортированные данные потеряны, мы можем устранить неполадки с помощью кода ошибки.
Хм, интересно. Насколько велика программа?
Вы также можете использовать cx_Freeze для создания исполняемого файла из вашего скрипта Python.
Вы можете установить cx_Freeze, введя команду
python -m pip install cx_Freeze --upgrade
в командной строке/терминале cmd.
Что касается tkinter, вы найдете рабочий пример того, как заморозить приложение на основе tkinter с текущей версией cx_Freeze в этот ответ. В скрипте setup.py, который вы там найдете, вам нужно заменить имя Executable на имя вашего основного скрипта. Поместите этот setup.py в тот же каталог, что и ваш основной скрипт, и запустите
python setup.py build
из подсказки/терминала cmd.
Что касается chromedriver, у меня нет опыта, если вы выберете этот подход и все еще будете иметь проблемы, пожалуйста, добавьте точное сообщение об ошибке и Минимальный, полный и проверяемый пример к вашему вопросу.
Спасибо за это! Было очень легко сделать исполняемый файл, и он отлично работает на моем компьютере. Но при тестировании на другом компьютере появилось 2 ошибки, ошибка Tkinter filenotfound, а исполняемый файл chromedriver должен быть в пути.