Как вы делаете установщик для вашей программы Python
Я новичок в Python, но я думал о создании программы с Python, чтобы дать своим друзьям. Они мало что знают о компьютерах, поэтому, если бы я попросил их установить python самостоятельно, они бы не смогли этого сделать, но что, если бы я мог сделать установщик, который загружает какую-то версию python, которая имеет только то, что нужно для моего файла, чтобы запустите и создайте исполняемый файл, который будет запускать файл.py в своем собственном интерпретаторе python. Я также выполнил поиск в Google и увидел приложения для замораживания, которые я мог использовать, чтобы превратить код в exe-файлы для распространения (cx_freeze, я использую python 3.2), но не у всех моих друзей есть компьютеры под управлением Windows, и я предпочитаю иметь свою программу в каждом новом версия автоматически обновляется путем внесения исправления в файл.py и не полностью переустанавливает его.
** Я не ищу ничего, чтобы сделать отдельный исполняемый файл. Просто какой-то инсталлятор, который объединяет минималистическую версию Python-версии, которую вы используете. И возможность иметь exe-файл, который является просто ссылкой для запуска файла python в переносимом интерпретаторе python, только для windows и файла.sh, который будет делать то же самое для linux.
7 ответов
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 setup и создать автономный установщик.
Если вам нужен веб-установщик (он загружает файл и извлекает его). Я сейчас пишу его и буду рад создать его для вас.
Что касается программы установки (для Windows).
Я думаю, что вы ищете InstallForge. Это инструмент, который можно использовать для создания собственного мастера установки. Этот веб-сайт pythonguis представляет собой руководство по PyInstaller и InstallForge. Вы можете пропустить часть PyInstaller и перейти к середине, чтобы просмотреть учебник InstallForge, если вы не заинтересованы в том, чтобы сделать исполняемый файл вашего приложения py с помощью PyInstaller, хотя я рекомендовал его, как многие упоминали.
InstallForge имеет возможность создать свой собственный мастер установки, который вы можете запрограммировать для установки ваших py-файлов или исполняемых файлов в нужный каталог и создать ярлык для приложения, которое вы хотите, чтобы ваши друзья запускали.
Если вам не нужно загружать версию интерпретатора python, как вы сказали, если вы связываете свои py-файлы с Pyinstaller, он уже будет включать версию интерпретатора python, что упрощает объединение в вашем InstallForge. Другой поток StackOverflow здесь объясняет, как вы можете установить python с помощью командной строки, если у вас уже есть установка интерпретатора python. Чтобы загрузить python из Интернета автоматически, я не смог найти информацию о системе, предназначенной для этого, хотя я уверен, что это не невозможно, если вы проявите творческий подход.
После того, как вы выяснили, как вы хотите связать и установить свою программу, вы можете запрограммировать свою систему на автоматическое обновление с помощью модуля python PyUpdater , найденного в pip
Я шокирован, что ни в одном ответе не упоминается, что py2exe теперь поддерживает Python 2.x и Python 3.x
Python - это интерпретируемый, а не скомпилированный язык. Поэтому любая автономная программа, которую вы можете распространять, должна включать в себя весь интерпретатор и библиотеки, которые вы использовали. Это приведет к огромному размеру файла для одной программы. Кроме того, эта огромная установка не может быть использована для запуска других программ на Python. Единственно немного более сложное, но гораздо лучшее решение, чем это, - просто установить интерпретатор один раз и запустить с ним любую программу на python.
Я понимаю, что целью вашего вопроса было создание автономного исполняемого файла, поэтому я знаю, что не отвечаю на него. Но неспособность создавать исполняемые автономные версии является одним из предостережений интерпретируемых языков. Тем не менее, фундаментальный момент здесь касается всей цели интерпретируемого языка, который представляет собой единый интерпретатор со всеми универсальными функциями, необходимыми для запуска любого кода Python (что, к счастью, теперь не должно быть дольше, чем нужно). Итак, вы видите, это не совсем оговорка, это было целое намерение интерпретируемых языков. Наконец, вы можете найти способ создать автономный исполняемый файл Python, который будет работать на компьютерах ваших друзей, но это разрушит всю структуру и идею интерпретируемого языка.
Используйте нуитку. Nuitka — это компилятор Python. Вы можете установить его из
pip -v install nuitka
Вы можете создать один исполняемый файл (для окон)
py -m nuitka --enable-plugin=tk-inter --show-scons --show-progress --onefile --remove-output --warn-implicit-exceptions --warn-unusual-code --windows-disable-console--windows-icon-from-ico=ICON_PATH --windows-uac-admin main.py
или же
py -m nuitka --enable-plugin=tk-inter --show-scons --show-progress --onefile --remove-output --warn-implicit-exceptions --warn-unusual-code --disable-console --linux-onefile-icon=ICON_PATH main.py
Вы можете создать установщик inno setup.
Шаги:
- Создайте исполняемый файл pyinstaller с помощью следующих команд:
pip install pyinstaller
pyinstaller --onefile yourfile.py
- Используйте innosetup для создания установщика.
Дополнительные сведения см. в документации по установке Inno или в этом блоге .
Вы можете использовать пакет python auto-py-to-exe, это простой графический интерфейс для создания .py в .exe.
- pip install auto-py-to-exe
- откройте его с помощью команды cmd:
auto-py-to-exe
проверьте этот сайт: [1]: https://pypi.org/project/auto-py-to-exe/