Как превратить скрипт.py в программу.exe
В статье рассмотрим, как работает превращение файла .py в программу .exe с помощью PyInstaller.
9К открытий13К показов
Как только первая полноценная программа выходит из-под клавиатуры, ей хочется похвастать, не так ли? Но потенциальные пользователи вряд ли захотят устанавливать себе IDE и все зависимости — это долго и муторно. Чтобы упростить им задачу и показать программу большему числу людей, создатели языка продумали, как сделать из кода исполняемую операционкой программу. Превращение в файла .py в .exe обычно делается с помощью PyInstaller, py2exe или cx_Freeze. Посмотрим, как работает PyInstaller:
Установка
Вы можете сделать это с помощью pip. Откройте командную строку и введите:
pip3 install pyinstaller
Я использую простейший скрипт, который экспортирует константный датафрейм в файл.csv:
import pandas as pd
data = [10,20,30,40,50,60]
df = pd.DataFrame(data, columns=['Numbers'])
df.to_csv('sample_output.csv', index=False)
То есть я ожидаю, что после запуска exe-программы увижу той же папке csv-файл.
До сих пор бывает, что библиотека ставится без «проваливания» в выделенную виртуальную среду и потом не запускается. Так что для порядка на вашем ПК рекомендую проводить такой эксперимент после запуска следующих команд:
python3 -m venv sample_env
source sample_env/
Впрочем, в этот раз обошлось без проблем и PyInstaller заработал.
Преобразование
Перейдите в каталог со скриптом Python, который хотите преобразовать в .exe. Используйте команду cd
для перехода в нужную директорию. Например:
cd C:\my_script_folder\
Уже в директории, вы можете запустить PyInstaller и преобразовать скрипт Python в .exe. Если скрипт называется my_script.py
, введите:
python3 -m PyInstaller my_script.py
Это создаст .exe-файл в поддиректории dist
. Чтобы программа стала одним .exe-файлом, добавьте флаг --onefile
:
python3 -m PyInstaller --onefile my_script.py
Вывод у процесса получился избыточный, так что если вы не хотите видеть консоль при выполнении программы, добавьте флаг --noconsole
:
pyinstaller --onefile --noconsole my_script.py
В результате рядом с py-скриптом ляжет директория, где в подпапке build будет лежать искомый исполняемый файл Unix (.exe):
Я работаю на macOS, однако всё равно могу запустить такой файл с помощью Терминала. Двойным щелчком запускаем my_script и получаем уведомление об исполнении программы:
Поскольку конечный путь не был указан, то выходной csv-файл просто лёг в стартовую директорию системы:
Обратите внимание, что при использовании PyInstaller все зависимости Python-скрипта должны быть установлены на вашем компьютере. И все используемые модули Python должны быть совместимы с PyInstaller.
Такой маленький шаг — прекрасный способ добавить себе уверенности как разработчику. Если вы все еще испытываете трудности с основами языка, попробуйте курс Result School по основам программирования. С промокодом TPROGER60 вы получите скидку 60%.
Если вы пробовали PyInstaller или аналоги, то какую программу экспортировали? Расскажите свою историю в комментариях.
9К открытий13К показов