Я пытаюсь преобразовать довольно простую программу Python в исполняемый файл и не могу найти то, что искал, поэтому у меня есть несколько вопросов (я запускаю Python3.6):
Методы выполнения этого, которые я нашел до сих пор, следующие:
pyinstaller/py2exe
Вот что я пробовал/проблемы, с которыми я столкнулся.
pyinstaller
перед необходимой загрузкой перед ним (pypi-something), чтобы он не работал. После загрузки файла предварительных условий pyinstaller
все еще не распознает его.Шаги для преобразования .py в .exe в Python 3.6
pip install cx_Freeze
.pip install idna
..py
именем myfirstprog.py
.setup.py
в текущей директории вашего скрипта.setup.py
скопируйте приведенный ниже код и сохраните его.python setup.py build
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.Python 3.6 по-прежнему не поддерживается Pyinstaller. Поэтому, чтобы использовать его, вам понадобится Python 3.5 или ниже. Однако я не уверен в py2exe.
В любом случае, случай 1 должен быть выполнен следующим образом:
Откройте окно cmd в папке Python (откройте окно команд и используйте cd
или удерживая shift, щелкните его правой кнопкой мыши в проводнике Windows и выберите "Открыть окно команды здесь" ). Затем просто введите
pip install pyinstaller
И что это.
Самый простой способ использовать это, введя в командной строке
pyinstaller file_name.py
Подробнее о том, как его использовать, см. этот вопрос.
Обновление
Python 3.6 теперь поддерживается Pyinstaller
На Github есть проект с открытым исходным кодом, называемый auto-py-to-exe. На самом деле он также просто использует Pyinstaller для внутреннего использования, но поскольку он имеет простой графический интерфейс, который управляет Pyinstaller, он может быть удобной альтернативой. Он также может выводить отдельный файл в отличие от других решений. Они также предоставляют видео, показывающее, как его настроить.
GUI:
Выход:
Я не могу сказать вам, что лучше всего, но инструментом, который я использовал с успехом в прошлом, был 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?
py2exe - это расширение distutils, которое позволяет создавать автономные исполняемые программы Windows (32-битные и 64-битные) из скриптов Python; Python 3.3 и более поздние версии поддерживаются. Он может создавать исполняемые файлы консоли, исполняемые файлы Windows (GUI), службы Windows и COM-серверы DLL/EXE.
Вы можете скачать это здесь:
Я использовал Nuitka и PyInstaller с моим пакетом PySimpleGUI.
Нуитка Были проблемы с компиляцией tkinter с Нуиктой. Один из участников проекта разработал сценарий, который исправил проблему.
Если вы не используете tkinter, он может "просто работать" для вас. Если вы используете tkinter, скажите об этом, и я постараюсь опубликовать скрипт и инструкции.
PyInstaller У меня работает 3.6 и PyInstaller работает отлично! Команда, которую я использую для создания моего exe файла:
pyinstaller -wF myfile.py
-wF создаст один EXE файл. Поскольку все мои программы имеют графический интерфейс, и я не хочу показывать окно команд, опция -w скрывает окно команд.
Это так же близко к запуску того, что похоже на программу Winforms, написанную на Python.