Подтвердить что ты не робот

Как я могу конвертировать .py в .exe для Python?

Я пытаюсь преобразовать довольно простую программу Python в исполняемый файл и не могу найти то, что искал, поэтому у меня есть несколько вопросов (я запускаю Python3.6):

Методы выполнения этого, которые я нашел до сих пор, следующие:

  • Загрузка старой версии Python и использование pyinstaller/py2exe
  • настройка виртуальной среды в 3.6, которая позволит мне сделать 1.
  • загрузка конвертера Python в С++ и использование этого.

Вот что я пробовал/проблемы, с которыми я столкнулся.

  • Я установил pyinstaller перед необходимой загрузкой перед ним (pypi-something), чтобы он не работал. После загрузки файла предварительных условий pyinstaller все еще не распознает его.
  • Если я настраиваю virtualenv в версии 2.7, мне действительно нужно установить 2,7?
  • Аналогично, единственный конвертер python для С++, который я вижу, работает только до python 3.5 - нужно ли загружать и использовать эту версию, если вы пытаетесь это сделать?
4b9b3361

Ответ 1

Шаги для преобразования .py в .exe в Python 3.6

  1. Установите Python 3.6.
  2. Установите cx_Freeze, (откройте командную строку и введите pip install cx_Freeze.
  3. Установите idna, (откройте командную строку и введите pip install idna.
  4. Напишите программу .py именем myfirstprog.py.
  5. Создайте новый файл Python с именем setup.py в текущей директории вашего скрипта.
  6. В файле setup.py скопируйте приведенный ниже код и сохраните его.
  7. При нажатой клавише Shift щелкните правой кнопкой мыши на том же каталоге, чтобы вы могли открыть окно командной строки.
  8. В командной строке введите python setup.py build
  9. Если ваш скрипт не содержит ошибок, то при создании приложения проблем не будет.
  10. Проверьте вновь созданную папку build. В нем есть еще одна папка. В этой папке вы можете найти свое приложение. Запустить его. Сделай себя счастливым.

Смотрите оригинальный скрипт в моем блоге.

setup.py:

from cx_Freeze import setup, Executable

base = None    

executables = [Executable("myfirstprog.py", base=base)]

packages = ["idna"]
options = {
    'build_exe': {    
        'packages':packages,
    },    
}

setup(
    name = "<any name>",
    options = options,
    version = "<any number>",
    description = '<any description>',
    executables = executables
)

РЕДАКТИРОВАТЬ:

  • убедитесь, что вместо myfirstprog.py вы должны myfirstprog.py имя файла расширения .py созданное на шаге 4;
  • Вы должны включить каждый import пакет ed из вашего .py в список packages (например: packages = ["idna", "os","sys"])
  • any name, any number, any description в файле setup.py не должно оставаться прежним, вы должны изменить его соответствующим образом (например: name = "<first_ever>", version = "0.11", description = '')
  • import пакеты должны быть установлены до начала шага 8.

Ответ 2

Python 3.6 поддерживается Pyinstaller.

Откройте окно cmd в папке Python (откройте командное окно и используйте cd или, удерживая клавишу shift, щелкните правой кнопкой мыши на проводнике Windows и выберите "Открыть командное окно здесь"). Затем просто введите

pip install pyinstaller

И это все.

Самый простой способ его использования - ввести в командной строке

pyinstaller file_name.py

Подробнее о том, как его использовать, читайте на этот вопрос.

Ответ 3

На Github есть проект с открытым исходным кодом, называемый auto-py-to-exe. На самом деле он также просто использует Pyinstaller для внутреннего использования, но поскольку он имеет простой графический интерфейс, который управляет Pyinstaller, он может быть удобной альтернативой. Он также может выводить отдельный файл в отличие от других решений. Они также предоставляют видео, показывающее, как его настроить.

GUI:

Auto Py to Exe

Выход:

Output

Ответ 4

Я не могу сказать вам, что лучше всего, но инструментом, который я использовал с успехом в прошлом, был cx_freeze. Недавно они обновились (с 7 января по 17 января) до версии 5.0.1 и поддерживают Python 3.6.

Здесь pypi https://pypi.python.org/pypi/cx_Freeze

Документы показывают, что существует несколько способов сделать это в зависимости от ваших потребностей.
http://cx-freeze.readthedocs.io/en/latest/overview.html

Я еще не пробовал, поэтому я собираюсь указать на сообщение, где обсуждался простой способ сделать это. Некоторые вещи могут измениться или, возможно, не изменились. Как использовать cx_freeze?

Ответ 5

Я использовал Nuitka и PyInstaller с моим пакетом PySimpleGUI.

Nuitka Были проблемы с компиляцией tkinter с Nuikta. Один из участников проекта разработал сценарий, который исправил проблему.

Если вы не используете tkinter, он может "просто работать" для вас. Если вы используете tkinter, скажите об этом, и я постараюсь опубликовать скрипт и инструкции.

PyInstaller У меня работает 3.6 и PyInstaller работает отлично! Команда, которую я использую для создания моего exe файла:

pyinstaller -wF myfile.py

-wF создаст один EXE файл. Поскольку все мои программы имеют графический интерфейс, и я не хочу показывать окно команд, опция -w скрывает окно команд.

Это так же близко к запуску того, что похоже на программу Winforms, написанную на Python.

[Обновление 20 июля 2019 года]

Существует решение на основе графического интерфейса PySimpleGUI, использующее PyInstaller. Он использует PySimpleGUI. Он называется pysimplegui-exemaker и может быть установлен в pip.

pip install PySimpleGUI-exemaker

Чтобы запустить его после установки:

python -m pysimplegui-exemaker.pysimplegui-exemaker

Ответ 6

py2exe - это расширение distutils, которое позволяет создавать автономные исполняемые программы Windows (32-битные и 64-битные) из скриптов Python; Python 3.3 и более поздние версии поддерживаются. Он может создавать исполняемые файлы консоли, исполняемые файлы Windows (GUI), службы Windows и COM-серверы DLL/EXE.

Вы можете скачать это здесь:

https://pypi.org/project/py2exe/