An other tool to make standalone Windows applications with Python.
The launcher is a small C program that loads the Python DLL and calls Py_Main with itself as parameter, loading a zipped Python application appended to the exe. It isolates the execution from the environment (e.g. other Python installations on the same machine).
Dependencies are installed with pip. There is no automatic detection or scanning of source files. Instead, setup.py (with setuptools’ install_requires ) or requirements.txt is used.
Quick Start
- make a setup.py for your application, use scripts and/or entry_points for console_scripts
- run python setup.py bdist_launcher
Done. See result in dist/launcher* .
Documentation
Подробности проекта
Ссылки проекта
Статистика
Метаданные
Лицензия: BSD License (BSD)
Источник: pypi.org
what is the py launcher? (intermediate) anthony explains #306
Установка Python в ОС Windows
- Загрузка и установка Python
- Запуск интерпретатора и файлов Python
- Вопросы и задания для самоконтроля
Загрузка и установка Python
Операционная система Windows позволяет установить сразу несколько версий интерпретатора Python . Будем считать, что нам необходимо установить последнюю из доступных на официальном сайте.
Для загрузки установочного файла последней версии Python необходимо перейти на страницу загрузок официального сайта и нажать желтую кнопку «Download Python 3.*.*» (см. рис. №1 ).
Рис. №1. Официальная страница загрузок сайта python.org.
Далее необходимо запустить загруженный установочный файл python-*.exe , который запустит окно установщика (см. рис. №2 ).
Рис. №2. Окно установщика python.
Чтобы без проблем пользоваться утилитой py launcher , которая будет запускать данную версию интерпретатора по умолчанию командой «py» , ставим галочку напротив «Use admin privileges when installing py.exe» . Если данная версия интерпретатора Python устанавливается в систему в качестве основной, то для того, чтобы в командной строке можно было обращаться к нему посредством простой команды «python» (вместо указания полного пути к интерпретатору), добавляем Python в переменную окружения PATH , поставив галочку напротив «Add Python.exe to PATH» (см. рис. №3 ).
Using the «py» launcher with Python on Windows
Рис. №3. Активация пунктов для py.exe и PATH.
Если по какой-то причине при использовании команды «python» запускается интерпретатор другой версии, просто переустановите нужную версию еще раз, незабыв добавить ее в переменную окружения PATH , либо измените эту переменную в самой системе так, чтобы путь к нему стал располагаться ближе к началу списка (это для более продвинутых пользователей).
Теперь можно смело кликать по кнопке «Install now» (т.е. «Установить сейчас») и просто ждать завершения установки в предложенную папку с параметрами по умолчанию (см. рис. №4 ). Однако торопиться с выбором данного варианта не стоит, т.к. он подходит больше для обычных пользователей, которые не собираются устанавливать несколько версий интерпретатора.
Рис. №4. Установка с параметрами по умолчанию.
Для более продвинутых пользователей, лучше выбрать вариант «Customize installation» (т.е. «Выборочная установка») для самостоятельного выбора устанавливаемых параметров (см. рис. №5 ).
Рис. №5. Выборочная установка.
- Documentation – установить документацию Python (не помешает);
- pip – установить менеджер пакетов pip для загрузки сторонних пакетов и библиотек, написанных на Python (выбираем обязательно);
- tcl/tk and IDLE – установить средства разработки на Python (не помешает);
- Python test suite – установить библиотеку для тестирования приложений (не помешает);
- py launcher – утилита, которая помогает находить и запускать сценариям (или командной строке) различные версии Python (если опция еще доступна и мы хотим сделать текущую версию интерпретатора запускаемой по умолчанию командой «py» , обязательно выбираем этот пункт; если опция уже недоступна, то ранее мы установили утилиту с другой версией интерпретатора, поэтому нужно выйти из установки и сперва удалить ее из системы);
- for all users – этот пункт позволяет установить утилиту py launcher для всех пользователей, но лучше отключить этот пункт, если компьютер приходится делить с кем-то еще (каждый пользователь должен установить в свое окружение собственные инструменты разработки).
Нажимаем кнопку «Next» (т.е. «Далее») и совершаем переход к окну дополнительных опций (см. рис. №6 ).
Рис. №6. Выборочная установка Python: необязательные опции.
- Install Python 3.* for all users – если за компьютером работает несколько пользователей, лучше отключить этот пункт, т.к. пользователи смогут менять общие настройки и зависимости, что рано или поздно приведет к неразберихе и неполадкам (каждый пользователь должен установить в свое окружение собственную версию и сопутствующие библиотеки);
- Associate files with Python – выбор данной опции позволит Windows связать с Python файлы, имеющие расширение *.py , что сделает возможным запуск скриптов по двойному щелчку мыши (обязательно выбираем);
- Create shortcuts for installed applications – для запуска приложений будут созданы ярлыки (пусть будут);
- Add Python to environment variables – путь к интерпретатору Python будет добавлен в переменную окружения PATH (обязательно выбираем);
- Precomple standard library – провести прекомпиляцию стандартной библиотеки (включаем, не помешает, хотя процесс установки и будет идти чуть дольше);
- Download debugging simbols и Download debug binaries – эти два пункта связаны с загрузкой компонентов для отладки, их установка нам может не понадобиться, но и не помешает.
После того, как все необходимые опции будут выбраны, указываем путь до папки Python . При этом, если вы работаете за компьютером один, лучше указать более простой путь, например, c:pythonpython311 . Если же за компьютером работает несколько пользователей, то устанавливать Python желательно в папку пользователя, предлагаемую системой (у каждого пользователя должна быть своя папка для установки интерпретаторов Python ).
Завершив с выбором опций, можно переходить непосредственно к установке, нажав кнопку «Install» , т.е. «Установить» (см. рис. №7 ).
Рис. №7. Выборочная установка Python: дополнительные опции.
Если все было сделано правильно, то после успешной установки должно появиться окно успешного завершения установки «Setup was successful» (см. рис. №8 ).
Рис. №8. Окно успешного завершения установки.
Закрываем финальное окно установщика Python и приступаем к проверке установки.
Перед загрузкой интерпретатора более ранней версии внимательно ознакомьтесь с информацией на странице загрузки. Убедитесь, что скачиваемая версия интерпретатора подходит для версии вашей операционной системы. Например, интерпретатор версии 3.9.2 не будет корректно работать под управлением ОС Windows 7 и более ранними версиями этой операционной системы. О чем жирным шрифтом предупреждается на странице загрузки.
Запуск интерпретатора и файлов Python
Для начала давайте откроем командную строку ОС Windows , использовав комбинацию клавиш Win+R , и введем в нее команду «cmd» . Результатом выполнения данной команды должно стать появление окна системной консоли (см. рис. №9 ).
Рис. №9. Запуск интерпретатора Python в консоли ОС Windows.
В открывшемся окне консоли введем команду «python» , которая должна запустить интерпретатор. Тот же эффект может быть получен и при использовании команды «py» , которой мы должны быть благодарны установленной утилите Python Launcher (см. рис. №9 ). Данная команда по умолчанию запускает тот интерпретатор Python , вместе с которым она была установлена в систему. Если же требуется запустить интерпретатор определенной версии, следует использовать команду «py -*.*» , указав версию после дефиса. В нашем примере для запуска установленной одиннадцатой версии интерпретатора мы использовали команду «py -3.11» . Список всех установленных в системе версий Python можно получить, выполнив команду «py —list» или аналогичную ей «py -0» . Версия по умолчанию будет выделена в списке звездочкой. В нашем случае, например, мы получили список всего лишь с одной строчкой «-V:3.11 * Python 3.11 (64-bit)» , т.к. других интерпретаторов пока что установлено не было. С другими командами утилиты можно познакомиться в справке, выполнив команду «py —help» .
Стоит добавить, что запустить интерпретатор можно и с помощью указания полного пути к нему. Именно поэтому, если вы работаете за компьютером один, его удобно устанавливать в папку, например, «c:pythonpython311» . Тогда запускать его можно будет командой «c:pythonpython311python.exe» (в нашем случае пришлось ввести более длинный путь).
Что касается запуска скриптов Python , то для этого нужно после перечисленных выше команд для запуска интерпретатора указать через пробел либо полный путь к скрипту, либо имя скрипта, если мы находимся в папке с ним (см. рис. №10 ).
Рис. №10. Запуск файлов Python в консоли ОС Windows.
В примере выше мы запускали файл main.py , содержащий всего одну инструкцию «print(‘Привет, Мир!’)» . Его мы создали в каталоге d:python . Однако запускать его можно не только через консоль, но и обычным для ОС Windows способом, т.е. двойным кликом мыши по ярлыку файла. Здесь главное помнить, что сохранять python -файлы необходимо либо с расширением .py , чтобы система могла определить связанное с файлом приложение, либо с расширением .pyw , которое часто используется в приложениях с графическим интерфейсом для скрытия окна консоли.
Стоит заметить, что в комплекте с интерпретатором поставляется собственная IDE , которую в Windows можно легко найти в меню «Пуск» под именем IDLE (после имени в скобках дополнительно указывается версия Python ). В ней удобно запускать и тестировать короткие фрагменты исходного кода, т.к. в отличие от интерпретатора в консоли, здесь присутствует ряд дополнительных плюсов, например, графическая оболочка и подсветка синтаксиса (см. рис. №11 ).
Рис. №11. Использование встроенной IDE Python.
Перечисленные нами способы запуска скриптов Python , конечно же не единственные. Но большая часть других способов предназначена для более узкоспециализированных задач, поэтому здесь мы их рассматривать не будем.
Помогите проекту, подпишитесь!
Подписка на учебные материалы сайта оформляется сроком на один год и стоит около 15 у.е. После подписки вам станут доступны следующие возможности.
- Доступ ко всем ответам на вопросы и решениям задач.
- Возможность загрузки учебных кодов и программ на свой компьютер.
- Доступ ко всем тренажерам и видеоурокам. Доступ к видеотрансляциям и онлайн-курсам.
- Возможность внести свой скромный вклад в развитие проекта и мира во всем мире, а также выразить свою благодарить автору за его труд. Нам очень нужна ваша поддержка!
На страницу подписки
Вопросы и задания для самоконтроля
1. С какого ресурса следует загружать установочный файл дистрибутива Python ? Почему? Показать решение.
Ответ. Для загрузки установочного файла дистрибутива Python необходимо использовать страницу загрузок официального сайта https://www.python.org . Загрузка из других источников может быть причиной сбоев и появления в системе вирусов.
2. Зачем добавлять путь к интерпретатору Python в переменную окружения PATH ? Показать решение.
Ответ. Это позволит запускать интерпретатор с помощью простой команды «python» , без необходимости указывать полный путь до него.
3. Для чего нужен менеджер пакетов pip ? Показать решение.
Ответ. Менеджер пакетов pip используется для загрузки сторонних пакетов и библиотек, написанных на Python .
4. Для чего стоит установить утилиту Python Launcher ? Показать решение.
Ответ. Данная утилита поможет сценариям (или командной строке) находить и запускать различные версии Python . Кроме того, станет доступна более короткая команда «py» для запуска интерпретатора, с которым она была установлена. Любую другую версию интерпретатора, установленного в системе, можно будет запускать с помощью команды формата «py —*.*» , указав после дефисов вместо звездочек желаемую версию Python .
5. Будем считать, что в ходе установки интерпретатор Python версии 3.11 был добавлен в переменную окружения PATH , а также в месте с ним была установлена утилита Python Launcher . Пусть у нас открыто окно консоли и мы находимся в каталоге D:pythonprojectstest_prj , в котором расположен файл main.py с некоторым сценарием, написанным на Python 3.11 . Как запустить скрипт на исполнение? Показать решение.
Ответ. Поскольку все установлено, а мы находимся в каталоге со скриптом, достаточно выполнить команду «py main.py» .
Источник: okpython.net
4.6.Конфигурирование Python
Чтобы удобно запускать Python из командной строки, вы можете изменить некоторые переменные среды по умолчанию в Windows. Хотя установщик предоставляет возможность настроить для вас переменные PATH и PATHEXT, это надежно только для одной общесистемной установки. Если вы регулярно используете несколько версий Python, рассмотрите возможность использования Python Launcher для Windows .
4.6.1.Экскурс:Установка переменных окружения
Windows позволяет настраивать переменные среды постоянно как на уровне пользователя,так и на уровне системы,или временно в командной строке.
Чтобы временно установить переменные среды, откройте командную строку и используйте команду set :
C:>set PATH=C:Program FilesPython 3.9;%PATH% C:>set PYTHONPATH=%PYTHONPATH%;C:My_python_lib C:>python
Эти изменения будут применяться к любым последующим командам,выполняемым в этой консоли,и будут унаследованы любыми приложениями,запущенными из консоли.
Включение имени переменной в знаки процента расширит существующее значение, что позволит вам добавить новое значение либо в начале, либо в конце. Изменение PATH путем добавления в начало каталога, содержащего python.exe , является распространенным способом обеспечения запуска правильной версии Python.
Чтобы навсегда изменить переменные среды по умолчанию,нажмите кнопку Пуск и найдите «редактировать переменные среды»,или откройте Свойства системы,Дополнительные параметры системы и нажмите кнопку Переменные среды.В этом диалоге вы можете добавить или изменить переменные пользователя и системы.Чтобы изменить системные переменные,вам необходим неограниченный доступ к вашей машине (т.е.права администратора).
Windows будет объединять пользовательские переменные после системных переменных, что может привести к неожиданным результатам при изменении PATH .
Переменная PYTHONPATH используется во всех версиях Python, поэтому ее не следует постоянно настраивать, если только перечисленные пути не содержат только код, совместимый со всеми установленными вами версиями Python.
Обзор переменных среды в Windows
Команда set для временного изменения переменных среды .
Команда setx для постоянного изменения переменных среды .
4.6.2.Поиск исполняемого файла Python
Изменено в версии 3.5.
Помимо использования автоматически созданного пункта меню «Пуск» для интерпретатора Python,вы можете захотеть запустить Python в командной строке.В программе установки есть возможность настроить это.
На первой странице установщика можно выбрать параметр «Добавить Python в PATH», чтобы установщик добавил место установки в PATH . Также добавляется расположение папки Scripts Scripts Это позволяет вам ввести python для запуска интерпретатора и pip для установки пакета. Таким образом, вы также можете выполнять свои скрипты с параметрами командной строки, см . документацию по командной строке .
Если вы не включите этот параметр во время установки, вы всегда можете повторно запустить программу установки, выбрать «Изменить» и включить ее. Кроме того, вы можете вручную изменить PATH , следуя указаниям в Excursus: Настройка переменных среды . Вам нужно установить переменную среды PATH , чтобы включить каталог вашей установки Python, отделенный точкой с запятой от других записей. Пример переменной может выглядеть так (при условии, что первые две записи уже существуют):
C:WINDOWSsystem32;C:WINDOWS;C:Program FilesPython 3.9
4.7.Режим UTF-8
Новинка в версии 3.7.
Windows по-прежнему использует устаревшие кодировки для системной кодировки (кодовая страница ANSI). Python использует его для кодирования текстовых файлов по умолчанию (например locale.getencoding() ).
Это может вызвать проблемы,поскольку UTF-8 широко используется в Интернете и большинстве Unix-систем,включая WSL (Windows Subsystem for Linux).
Вы можете использовать режим Python UTF-8 , чтобы изменить кодировку текста по умолчанию на UTF-8. Вы можете включить режим Python UTF-8 с помощью параметра командной строки -X utf8 или переменной среды PYTHONUTF8=1 . См. PYTHONUTF8 для включения режима UTF-8 и Excursus: Установка переменных среды для того, как изменять переменные среды.
Когда режим Python UTF-8 включен, вы по-прежнему можете использовать системную кодировку (кодовую страницу ANSI) через кодек «mbcs».
Обратите внимание, что добавление PYTHONUTF8=1 к переменным среды по умолчанию повлияет на все приложения Python 3.7+ в вашей системе. Если у вас есть приложения Python 3.7+, которые полагаются на устаревшую системную кодировку, рекомендуется временно установить переменную среды или использовать параметр командной строки -X utf8 .
Даже если режим UTF-8 отключен,Python по умолчанию использует UTF-8 в Windows для:
- Консольный ввод-вывод, включая стандартный ввод-вывод (подробности см. в PEP 528 ).
- Кодировка файловой системы (подробности см. в PEP 529 ).
4.8.Python Launcher для Windows
Новинка в версии 3.3.
Python launcher для Windows-это утилита,которая помогает находить и запускать различные версии Python.Она позволяет скриптам (или командной строке)указать предпочтение конкретной версии Python,после чего будет найдена и запущена эта версия.
В отличие от PATH , программа запуска правильно выберет наиболее подходящую версию Python. Он предпочтет установку для каждого пользователя, а не общесистемную, и упорядочит языковую версию, а не последнюю установленную версию.
Средство запуска изначально было указано в PEP 397 .
4.8.1.Начало работы
4.8.1.1.Из командной строки
Изменено в версии 3.6.
Общесистемные установки Python 3.3 и более поздних версий поместят средство запуска в ваш PATH . Лаунчер совместим со всеми доступными версиями Python, поэтому не имеет значения, какая версия установлена. Чтобы убедиться, что программа запуска доступна, выполните следующую команду в командной строке:
Вы должны обнаружить,что последняя версия Python,которую вы установили,запущена-она может быть завершена как обычно,и любые дополнительные аргументы командной строки,указанные вами,будут отправлены непосредственно в Python.
Если у вас установлено несколько версий Python (например,3.7 и 3.11),вы заметили,что был запущен Python 3.11-чтобы запустить Python 3.7,попробуйте выполнить команду:
py -3.7
Если вам нужна последняя версия Python 2,которая у вас установлена,попробуйте выполнить команду:
py -2
Вы должны найти последнюю версию запуска Python 3.x.
Если вы видите следующую ошибку,у вас не установлена программа запуска:
‘py’ is not recognized as an internal or external command, operable program or batch file.
При установке Python для каждого пользователя средство запуска не добавляется в PATH , если этот параметр не был выбран при установке.
py —list
отображает текущую установленную версию (версии)Python.
4.8.1.2.Виртуальные среды
Новинка в версии 3.5.
Если программа запуска запущена без явного указания версии Python и активна виртуальная среда (созданная с помощью модуля стандартной библиотеки venv или внешнего инструмента virtualenv ), программа запуска запустит интерпретатор виртуальной среды, а не глобальную. Чтобы запустить глобальный интерпретатор, либо деактивируйте виртуальную среду, либо явно укажите глобальную версию Python.
4.8.1.3.Из сценария
Давайте создадим тестовый скрипт Python — создадим файл hello.py со следующим содержимым
#! python import sys sys.stdout.write(«hello from Python %sn» % (sys.version,))
Из каталога,в котором находится hello.py,выполните команду:
py hello.py
Вы должны заметить,что выводится номер версии вашей последней установки Python 2.x.Теперь попробуйте изменить первую строку на:
#! python3
Повторное выполнение команды теперь должно вывести последнюю информацию о Python 3.x. Как и в приведенных выше примерах командной строки, вы можете указать более явный квалификатор версии. Предполагая, что у вас установлен Python 3.7, попробуйте изменить первую строку на #! python3.7 , и вы должны найти напечатанную информацию о версии 3.11.
Обратите внимание, что в отличие от интерактивного использования, голый «python» будет использовать последнюю версию Python 2.x, которую вы установили. Это сделано для обратной совместимости и совместимости с Unix, где команда python обычно относится к Python 2.
4.8.1.4.Из ассоциаций файлов
При установке программа запуска должна была быть связана с файлами Python (т.е. файлами .py , .pyw , .pyc ). Это означает, что при двойном щелчке по одному из этих файлов в проводнике Windows будет использована программа запуска, и поэтому вы можете использовать те же средства, описанные выше, чтобы сценарий указывал версию, которую следует использовать.
Основным преимуществом этого является то,что одна программа запуска может одновременно поддерживать несколько версий Python в зависимости от содержимого первой строки.
4.8.2.Линии шебанга
Если первая строка файла сценария начинается с #! , она известна как линия «шебанг». Linux и другие Unix-подобные операционные системы имеют встроенную поддержку таких строк, и они обычно используются в таких системах для указания того, как должен выполняться сценарий. Этот модуль запуска позволяет использовать те же средства со сценариями Python в Windows, и приведенные выше примеры демонстрируют их использование.
Чтобы строки shebang в сценариях Python можно было переносить между Unix и Windows,эта программа запуска поддерживает ряд «виртуальных» команд,указывающих,какой интерпретатор использовать.Поддерживаются следующие виртуальные команды:
- /usr/bin/env python
- /usr/bin/python
- /usr/local/bin/python
- python
Например,если первая строка вашего сценария начинается со слов
#! /usr/bin/python
Будет найден и использован Python по умолчанию. Поскольку многие скрипты Python, написанные для работы в Unix, уже содержат эту строку, вы должны обнаружить, что эти скрипты могут использоваться программой запуска без изменений. Если вы пишете новый сценарий в Windows, который, как вы надеетесь, будет полезен в Unix, вам следует использовать одну из строк shebang, начинающуюся с /usr .
Любая из приведенных выше виртуальных команд может иметь суффикс с явной версией (либо только основная версия, либо основная и дополнительная версии). Кроме того, 32-битную версию можно запросить, добавив «-32» после дополнительной версии. То есть /usr/bin/python3.7-32 запросит использование 32-битного python 3.7.
Новое в версии 3.7: Начиная с python launcher 3.7 можно запросить 64-битную версию по суффиксу «-64». Кроме того, можно указать мажор и архитектуру без младших (например, /usr/bin/python3-64 ).
Изменено в версии 3.11: суффикс «-64» устарел и теперь означает «любую архитектуру, которая не является доказуемо i386/32-битной». Чтобы запросить определенную среду, используйте новый аргумент -V: с полным тегом.
Форма /usr/bin/env строки shebang имеет еще одно особое свойство. Прежде чем искать установленные интерпретаторы Python, эта форма будет искать исполняемый файл Python в PATH исполняемого файла. Это соответствует поведению программы Unix env , которая выполняет поиск в PATH .Если исполняемый файл, соответствующий первому аргументу после команды env , не может быть найден, он будет обработан, как описано ниже. Кроме того, можно установить переменную среды PYLAUNCHER_NO_SEARCH_PATH (любое значение), чтобы пропустить этот дополнительный поиск.
Python 3.11
Использование Python на платформах Unix
Python поставляется предустановленным в большинстве дистрибутивов Linux,а также доступен в виде пакетов других дистрибутивов.
Использование Python в Windows
Цель этого документа-дать обзор поведения,специфичного для Windows,о котором вы должны знать при использовании Python Microsoft В отличие от большинства систем и служб Unix,
4.2.Пакет Microsoft Store
Новинка в версии 3.7.2.
4.8.3.Аргументы в строках shebang
Строки shebang также могут указывать дополнительные параметры, которые должны быть переданы интерпретатору Python.
Источник: runebook.dev