Как вы делаете установщик для вашей программы Python

Я новичок в python, но я думал о том, чтобы сделать программу с python, чтобы дать своим друзьям. Они мало что знают о компьютерах, поэтому, если я попрошу их установить python самостоятельно, они не смогут этого сделать, но что, если бы я мог сделать установщик, который загружает какую-то версию python, в которой есть только то, что нужно для моего файла? запустите и создайте exe-файл, который будет запускать .py-файл в собственном интерпретаторе python. Я также выполнил поиск в Google и увидел замораживающие приложения, которые я мог бы использовать, чтобы преобразовать код в exe-файлы для распространения (cx_freeze я использую python 3.2), но не у всех моих друзей есть компьютеры с Windows, и у меня есть моя программа, поэтому в каждом новом версия, которую он автоматически обновляет, делая патч для файла .py, а не полностью переустанавливая его.

** Я не ищу ничего, чтобы сделать автономный исполняемый файл. Просто какой-то установщик, который объединяет минималистическую версию версии Python, которую вы используете. И возможность иметь exe-файл, который является просто ссылкой для запуска файла python в переносимом интерпретаторе python, только для Windows и файла .sh, который будет делать то же самое для linux.


person Malcolm2608    schedule 31.03.2012    source источник
comment
Голосование за закрытие вырисовывается, но прежде чем оно произойдет: посмотрите здесь. Для кроссплатформенности рассмотрите easy-install.   -  person MrGomez    schedule 01.04.2012


Ответы (3)


Я шокирован тем, что ни в одном ответе не упоминается, что py2exe теперь поддерживает как Python 2.x, так и Python 3.x.

https://pypi.python.org/pypi/py2exe#downloads

person Prof. Falken    schedule 27.08.2015
comment
Насколько я могу судить, py2exe не поддерживает 3.6, только 3.4. - person Andreas Haferburg; 27.02.2020
comment
Поддерживаются Python 3.3 и более поздние версии. Он может создавать исполняемые файлы консоли, исполняемые файлы Windows (GUI), службы Windows и COM-серверы DLL/EXE. - person Bart De Boeck; 24.03.2020

Pyinstaller — хороший вариант для преобразования их в исполняемый файл Windows. Вы можете установить его в cmd.exe от имени администратора и запустить pip install pyinstaller или pip install --pre pyinstaller.

затем вы можете запустить его, используя pyinstaller. (извините, что я не могу предоставить автоматический скрипт, который я написал после восстановления системы. Я скоро напишу его снова, используя pyqt5)

синтаксис

--onefile - помещает программу и ее файлы в exe.

--onedir - положить вашу программу в директорию (папку) (быстрее, чем --onefile так как не нужно извлекать файлы)

-c - создать консольное приложение.

-w - создать приложение без консоли.

-i "[Path to .ico or exe with icon. e.g C:\Files\CODE\Icon.ico]" - создать приложение без консоли.

остальное можно прочитать здесь.

Затем вы можете получить установку inno и создать автономный установщик.

Если вам нужен веб-установщик (он загружает файл и извлекает его). В настоящее время я пишу его и был бы рад создать его для вас.

person LethDev2019    schedule 04.05.2020

Python — это интерпретируемый, а не компилируемый язык. Таким образом, любая отдельная программа, которую вы хотите распространять, должна включать в себя весь интерпретатор, а также библиотеки, которые вы использовали. Это приведет к огромному размеру файла для одной программы. Кроме того, эту огромную установку нельзя использовать для запуска других программ Python. Лишь немного более сложное, но гораздо лучшее решение, чем это, — просто установить интерпретатор один раз и запустить с ним любую программу на Python.

Я понимаю, что смысл вашего вопроса заключался в том, чтобы создать автономный исполняемый файл, поэтому я знаю, что не отвечаю на него. Но невозможность создавать исполняемые автономные программы — одно из предостережений интерпретируемых языков. Тем не менее, фундаментальный момент здесь касается всей цели интерпретируемого языка, который представляет собой единый интерпретатор со всеми универсальными функциями, необходимыми для запуска любого кода Python (который теперь, к счастью, не должен быть длиннее, чем они должны быть). Итак, вы видите, что на самом деле это не предостережение, это было цель интерпретируемых языков. Возможно, вы, наконец, найдете способ создать автономный исполняемый файл Python, который будет работать на компьютерах ваших друзей, но это разрушит всю структуру и идею интерпретируемого языка.

person Abhranil Das    schedule 31.03.2012
comment
Извини, но я искал не это, а именно тебя. :D - person Malcolm2608; 01.04.2012
comment
Вариантом может быть объединение файлов вашего проекта вместе с интерпретатором, который вы хотите в установочном пакете (например, с помощью nsis.sourceforge .net/Main_Page). Таким образом, вы можете попросить их установить python (или проверить, существует ли он уже) и файлы вашего проекта. - person Moe; 01.04.2012
comment
Это бесполезный ответ, он не дает решения. - person Markus Bawidamann; 22.12.2020
comment
У меня есть небольшой инструмент python, который я ошибся, и я использовал pyinstaller для создания exe, и это (как вы утверждаете) ОГРОМНЫЙ один файл exe составляет 10 мегабайт, что действительно крошечно ;-) Это включает даже некоторые библиотеки, так что никаких проблем нет . - person Markus Bawidamann; 24.12.2020