Как запустить exe через python
Перейти к содержимому

Как запустить exe через python

  • автор:

Упаковка Python программы в EXE файл

Чтобы понять, зачем это может потребоваться, предположим, что вы написали программу на Python. И теперь нужно ее показать руководителю, заказчику или другу. И здесь сразу могут возникнуть трудности. Потому что принимаемая сторона вряд ли обладает познаниями в программировании и к тому же не имеет на компьютере установленного Python, чтобы иметь возможность запустить ваш код.

Гораздо проще заранее позаботиться о простоте запуска Python программы, и упаковать ее в исполняемый EXE файл. Преимущество такого файла в том, что он запускается любым пользователем на любом компьютере под управлением Windows. Даже если на компьютере не установлен Python.

Для упаковки программы будем использовать пакет PyInstaller и надстройку над ним auto-py-to-exe

Ссылки на документацию по данным пакетам:

PyInstaller генерирует EXE файл из командной строки. А auto-py-to-exe надстраивает над PyInstaller пользовательский интерфейс, в котором удобно выбирать различные параметры.

Установка пакетов для упаковки в EXE файл

Для установки пакетов, мы будем использовать pip — систему управления пакетами, написанными на Python.

    1. В поиске Windows набираем cmd
    2. Запускаем приложение Командная строка от имени администратора(ВАЖНО!)
    3. Набираем команды для установок пакетов и нажимаем Enter:

      pip install pyinstaller


      • pip install auto-py-to-exe

    4. Дополнительные пакеты установлены.

Упаковка Python программы в EXE файл

Давайте упакуем с помощью установленных пакетов готовую программу A/B Калькулятор.

Для начала, посмотрим как она запускается в неупакованном виде. Открываем файл программы в редакторе Geany и нажимаем Выполнить (F5). Программа выполняется на фоне командной строки. И когда мы окно программы закрываем, окно консоли еще остается открытым.

Перед генерацией EXE файла подготовим директорию, куда он будет сохраняться. Например, на Рабочем столе создаем папку Генерация EXE

  1. Запускаем командную строку от администратора
  2. Вводим команду auto-py-to-exe
  3. В окне приложения производим настройки:
    • Указываем путь к директории с исходным файлом программы
    • Выбираем опцию Один файл
    • Выбираем опцию Оконное приложение (скрыть консоль)
    • Нажимаем Настройки и указываем путь к директории экспорта, куда будет сохранен готовый EXE файл
    • Жмем кнопку Конвертировать PY в EXE

Некоторое время программа производит обработку. После окончания обработки появляется кнопка Открыть папку вывода . Нажимаем ее и видим в папке готовый EXE файл.

Запускаем EXE файл и проверяем работоспособность. Программа AB Калькулятора запустилась без использования консоли. Теперь файл программы можно пересылать для запуска абсолютно на любом компьютере.

Примечание. Если в процессе запуска EXE файлов возникают проблемы, проверьте, установлен ли Microsoft Visual C++ Redistributable. Если требуется его установка, найти его можно по ссылке .

Как открыть чужой EXE написанный на питоне

Как встроить скрипт написанный на питоне в C#?
Всем доброго времени суток ! Прошу помочь разобраться в такой ситуации: Есть WinForms и есть.

Как открыть файл на питоне, чтобы внутри содержимый код работал при открытии на питоне?
Хочу открыть файл, чтобы внутри код работал на питоне: >>> a = open(r’F:\python\py\Madi.

Как открыть сайт написанный на C#
как открыть сайт написанный на C#. ))

Как модуль, написанный на Барсике открыть в С#?
Помогите глупому(пока еще). Как модуль, написанный на Барсике открыть в С#,ответ должен быть на.

Добавить код написанный на питоне к странице сайта
Здравствуйте. Недавно начал изучать джанго. Вопрос заключается в следующем. есть простой код с.

как открыть файл exe по заданому пути на пайтон

Как сделать чтобы в нужный момент открывался exe файл из другой директории, использовать можно любые модули вот код (если надо):

def login_sucess(): global screen3 screen3 = Toplevel(screen) screen3.title("Success") screen3.geometry("150x100") Label(screen3, text = "Login Sucess").pack() Button(screen3, text = "OK", command =delete2).pack() #тут открываеться файл по пути С:\User\Desktop\python\dist\main\main.exe 

Отслеживать
707 2 2 серебряных знака 16 16 бронзовых знаков
задан 29 янв 2021 в 12:19
1 1 1 серебряный знак 1 1 бронзовый знак

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Используйте класс Popen модуля subprocess.

Это будет выглядеть примерно так:

subprocess.Popen(r"С:\User\Desktop\python\dist\main\main.exe") 

Отслеживать
ответ дан 29 янв 2021 в 12:42
Shamus Rezol Shamus Rezol
1,431 5 5 серебряных знаков 18 18 бронзовых знаков
Здравствуйте , ошибку не выдает но файл не запускаеться(
29 янв 2021 в 13:29

@denzzzy, «Changed in version 3.8: Popen can use os.posix_spawn() in some cases for better performance. On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor using os.posix_spawn() no longer raise an exception on errors like missing program, but the child process fails with a non-zero returncode.» (см. ссылку subprocess). То есть, возможно программа просто не найдена. Как я сразу заметил, у вас странный путь к рабочему столу. Вот, к примеру, мой: C:\Users\Shamus_Rezol\Desktop.

29 янв 2021 в 15:49

Попробуйте запомнить создаваемый процесс process = subprocess.Popen(r»С:\User\Desktop\python\dist\main\main.exe») и посмотреть возвращаемый код print(process.poll()) . «but the child process fails with a non-zero returncode» — вероятно он ненулевой.

Как запустить exe через python

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно.
Необходимо обновить браузер или попробовать использовать другой.

Лучшая CTF площадка рунета Codeby Games Обучение кибербезопасности в игровой форме. Выполняй задания по кибербезопасности в формате CTF и получай бесценный опыт.

B правой части каждого сообщения есть стрелки ⇧ и ⇩ . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок ✔ в правой части сообщения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *