Вопрос-Ответ

How can I convert a .py to .exe for Python?

Как я могу преобразовать файл .py в .exe для Python?

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

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


  1. загружаю старую версию Python и использую pyinstaller/py2exe

  2. настройка виртуальной среды на Python 3.6, которая позволит мне выполнить 1.

  3. загружаю конвертер Python в C ++ и использую его.

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


  • Я установил pyinstaller перед требуемой загрузкой перед этим (pypi-что-то вроде), поэтому это не сработало. После загрузки необходимого файла, pyinstaller по-прежнему не распознает его.

  • Если я настраиваю virtualenv на Python 2.7, действительно ли мне нужно установить Python 2.7?

  • аналогично, единственные конвертеры python в C ++, которые я вижу, работают только до версии Python 3.5 - нужно ли мне загружать и использовать эту версию, если я пытаюсь это сделать?

Переведено автоматически
Ответ 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 вы должны указать свое .pyимя файла расширения, созданное на шаге 4;

  • вы должны включить каждый importотредактированный пакет в свой список .py в packages (например: packages = ["idna", "os","sys"])

  • any name, any number, any description в setup.py файл не должен оставаться прежним, вы должны изменить его соответствующим образом (например:name = "<first_ever>", version = "0.11", description = '' )

  • перед началом importшага 8 необходимо установить пакеты ed.

Ответ 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, это может быть удобной альтернативой. Он также может выводить отдельный файл, в отличие от других решений. Они также предоставляют видео, показывающее, как это настроить.

ГРАФИЧЕСКИЙ интерфейс:

Автоматический перевод файла . Py в Exe

Вывод:

Вывод

В качестве альтернативы используйте pyinstaller напрямую:

pip install pyinstaller
pyinstaller filename
Ответ 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?

python python-3.x