Использование Python в Windows
Этот документ призван дать обзор особенностей работы в Windows, о которых следует знать при использовании Python в Microsoft Windows.
В отличие от большинства систем и служб Unix, Windows не включает поддерживаемую системой установку Python. Чтобы сделать Python доступным, команда CPython уже много лет выпускает установщики Windows с каждым выпуском. Эти установщики предназначены главным образом для установки Python для отдельного пользователя, при которой основной интерпретатор и библиотека используются одним пользователем. Установщик также может установить Python для всех пользователей одного компьютера, а для локального распространения приложения доступен отдельный ZIP-файл.
Согласно PEP 11, выпуск Python поддерживает платформу Windows только до тех пор, пока Microsoft считает её находящейся на расширенной поддержке. Это означает, что Python 3.13 поддерживает Windows 8.1 и более поздние версии. Если вам нужна поддержка Windows 7, установите Python 3.8.
Для Windows доступно несколько разных установщиков, каждый из которых имеет свои преимущества и недостатки.
Полный установщик содержит все компоненты и является оптимальным вариантом для разработчиков, использующих Python для проектов любого типа.
Пакет Microsoft Store представляет собой простую установку Python, подходящую для запуска сценариев и пакетов, а также для использования IDLE или других сред разработки. Для него требуется Windows 10 или более поздняя версия, однако его можно безопасно установить, не нарушая работу других программ. Кроме того, он предоставляет множество удобных команд для запуска Python и его инструментов.
Пакеты nuget.org представляют собой облегчённые установки, предназначенные для систем непрерывной интеграции. Их можно использовать для сборки пакетов Python или запуска сценариев, но они не обновляются и не содержат инструментов с пользовательским интерфейсом.
Встраиваемый пакет — это минимальный пакет Python, подходящий для встраивания в более крупное приложение.
4.1. Полный установщик
4.1.1. Этапы установки
Для загрузки доступны четыре установщика Python 3.13 — по два для 32-разрядной и 64-разрядной версий интерпретатора. Веб-установщик представляет собой небольшую начальную загрузку и автоматически загружает необходимые компоненты по мере необходимости. Автономный установщик содержит компоненты, необходимые для установки по умолчанию, и требует подключения к Интернету только для дополнительных функций. Другие способы избежать загрузки во время установки описаны в разделе Установка без загрузки.
После запуска установщика можно выбрать один из двух вариантов:
Если выбрать «Install Now» («Установить сейчас»):
- Права администратора не потребуются (кроме случаев, когда необходимо обновить системную библиотеку C Runtime или установить Программу запуска Python для Windows для всех пользователей)
- Python будет установлен в каталог вашего пользователя
- Программа запуска Python для Windows будет установлена в соответствии с параметром в нижней части первой страницы
- Будут установлены стандартная библиотека, набор тестов, программа запуска и pip
- Если этот параметр выбран, каталог установки будет добавлен в вашу
PATH - Ярлыки будут видны только текущему пользователю
При выборе «Customize installation» («Настроить установку») можно выбрать устанавливаемые функции, расположение установки, другие параметры и действия после установки. Чтобы установить отладочные символы или двоичные файлы, необходимо выбрать этот вариант.
Чтобы выполнить установку для всех пользователей, выберите «Customize installation» («Настроить установку»). В этом случае:
- Может потребоваться предоставить учётные данные администратора или подтвердить запрос
- Python будет установлен в каталог Program Files
- Программа запуска Python для Windows будет установлена в каталог Windows
- Во время установки можно выбрать дополнительные функции
- Стандартную библиотеку можно предварительно скомпилировать в байт-код
- Если этот параметр выбран, каталог установки будет добавлен в системную
PATH - Ярлыки будут доступны всем пользователям
4.1.2. Снятие ограничения MAX_PATH
Исторически Windows ограничивала длину путей 260 символами. Это означало, что пути большей длины не разрешались и приводили к ошибкам.
В последних версиях Windows это ограничение можно увеличить примерно до 32 000 символов. Администратору необходимо активировать групповую политику «Enable Win32 long paths» («Включить длинные пути Win32») или задать LongPathsEnabled значение 1 в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.
Это позволяет функции open(), модулю os и большинству других средств работы с путями принимать и возвращать пути длиной более 260 символов.
После изменения указанного параметра дополнительная настройка не требуется.
Изменено в версии 3.6: В Python включена поддержка длинных путей.
4.1.3. Установка без пользовательского интерфейса
Все параметры, доступные в пользовательском интерфейсе установщика, можно также задать в командной строке. Это позволяет создавать сценарии установки, которые устанавливают Python на множестве компьютеров без участия пользователя. Эти параметры также можно задавать, не скрывая интерфейс, чтобы изменить некоторые значения по умолчанию.
Установщику можно передать следующие параметры (их список можно получить, запустив установщик с /?):
Имя | Описание |
|---|---|
/passive | показывать ход выполнения, не требуя участия пользователя |
/quiet | установить или удалить программу без отображения пользовательского интерфейса |
/simple | запретить настройку пользователем |
/uninstall | удалить Python (без подтверждения) |
/layout [directory] | предварительно загрузить все компоненты |
/log [filename] | указать расположение файлов журнала |
Все остальные параметры передаются как name=value, где значение обычно равно 0 для отключения функции, 1 для её включения или представляет собой путь. Полный список доступных параметров приведён ниже.
Имя | Описание | По умолчанию |
|---|---|---|
InstallAllUsers | Выполнить установку для всей системы. | 0 |
TargetDir | Каталог установки | Выбирается на основе InstallAllUsers |
DefaultAllUsersTargetDir | Каталог установки по умолчанию для установки для всех пользователей |
|
DefaultJustForMeTargetDir | Каталог установки по умолчанию для установки только для текущего пользователя |
|
DefaultCustomTargetDir | Каталог пользовательской установки по умолчанию, отображаемый в интерфейсе | (пусто) |
AssociateFiles | Создать ассоциации файлов, если также установлена программа запуска. | 1 |
CompileAll | Скомпилировать все файлы | 0 |
PrependPath | Добавить каталоги установки и Scripts в начало | 0 |
AppendPath | Добавить каталоги установки и Scripts в конец | 0 |
Shortcuts | Создать ярлыки для интерпретатора, документации и IDLE, если они установлены. | 1 |
Include_doc | Установить руководство Python | 1 |
Include_debug | Установить отладочные двоичные файлы | 0 |
Include_dev | Установить заголовочные файлы и библиотеки для разработчиков. Пропуск этого компонента может привести к неработоспособности установки. | 1 |
Include_exe | Установить | 1 |
Include_launcher | Установить Программу запуска Python для Windows. | 1 |
InstallLauncherAllUsers | Установить программу запуска для всех пользователей. Также требуется, чтобы | 1 |
Include_lib | Установить стандартную библиотеку и модули расширений. Пропуск этого компонента может привести к неработоспособности установки. | 1 |
Include_pip | Установить входящие в комплект pip и setuptools | 1 |
Include_symbols | Установить отладочные символы ( | 0 |
Include_tcltk | Установить поддержку Tcl/Tk и IDLE | 1 |
Include_test | Установить набор тестов стандартной библиотеки | 1 |
Include_tools | Установить служебные сценарии | 1 |
LauncherOnly | Установить только программу запуска. Этот параметр переопределяет большинство остальных. | 0 |
SimpleInstall | Отключить большую часть пользовательского интерфейса установки | 0 |
SimpleInstallDescription | Пользовательское сообщение, отображаемое при использовании упрощённого интерфейса установки. | (пусто) |
Например, чтобы выполнить установку Python по умолчанию для всей системы без отображения интерфейса, можно использовать следующую команду (из командной строки, запущенной с повышенными правами):
python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
Чтобы пользователи могли легко установить личную копию Python без набора тестов, можно создать ярлык со следующей командой. Она отобразит упрощённую начальную страницу и запретит настройку:
python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
(Обратите внимание: если не устанавливать программу запуска, не будут созданы и ассоциации файлов. Этот вариант рекомендуется только для установки для отдельного пользователя, если программа запуска уже установлена в рамках системной установки.)
Перечисленные выше параметры также можно указать в файле с именем unattend.xml, расположенном рядом с исполняемым файлом. В этом файле задаётся список параметров и значений. Если значение задано как атрибут, оно будет преобразовано в число, если это возможно. Значения, указанные в виде текста элемента, всегда остаются строками. В этом примере файла заданы те же параметры, что и в предыдущем примере:
<Options>
<Option Name="InstallAllUsers" Value="no" />
<Option Name="Include_launcher" Value="0" />
<Option Name="Include_test" Value="no" />
<Option Name="SimpleInstall" Value="yes" />
<Option Name="SimpleInstallDescription">Just for me, no test suite</Option>
</Options>
4.1.4. Установка без загрузки
Некоторые функции Python не входят в первоначальную загрузку установщика, поэтому для их выбора может потребоваться подключение к Интернету. Чтобы избежать этого, можно загрузить все возможные компоненты по запросу и создать полный набор файлов установки, для использования которого подключение к Интернету больше не потребуется — независимо от выбранных функций. Обратите внимание: размер загрузки может превышать необходимый, однако локальная кэшированная копия будет очень полезна, если планируется выполнить большое количество установок.
Выполните следующую команду в командной строке, чтобы загрузить все потенциально необходимые файлы. Не забудьте заменить python-3.9.0.exe фактическим именем установщика и создавать наборы файлов установки в отдельных каталогах, чтобы избежать конфликтов между файлами с одинаковыми именами.
python-3.9.0.exe /layout [optional target directory]
Чтобы скрыть отображение хода выполнения, можно также указать параметр /quiet.
4.1.5. Изменение установки
После установки Python можно добавлять или удалять функции с помощью инструмента «Программы и компоненты», входящего в состав Windows. Выберите запись Python и нажмите «Удалить/Изменить», чтобы открыть установщик в режиме обслуживания.
Пункт «Изменить» позволяет добавлять или удалять функции, меняя флажки: флажки, состояние которых не изменено, не приведут к установке или удалению компонентов. В этом режиме нельзя изменить некоторые параметры, например каталог установки. Чтобы изменить их, необходимо полностью удалить Python, а затем установить его заново.
Пункт «Восстановить» проверит все файлы, которые должны быть установлены согласно текущим настройкам, и заменит удалённые или изменённые файлы.
Пункт «Удалить» полностью удалит Python, за исключением Программы запуска Python для Windows, для которой в разделе «Программы и компоненты» предусмотрена отдельная запись.
4.1.6. Установка двоичных файлов со свободной многопоточностью
Добавлено в версии 3.13: (экспериментально)
Примечание
Всё описанное в этом разделе считается экспериментальным, поэтому следует ожидать изменений в будущих выпусках.
Чтобы установить предварительно собранные двоичные файлы с включённой свободной многопоточностью (см. PEP 703), выберите «Customize installation» («Настроить установку»). На второй странице параметров есть флажок «Download free-threaded binaries» («Загрузить двоичные файлы со свободной многопоточностью»).
При выборе этого параметра дополнительные двоичные файлы будут загружены и установлены в то же расположение, что и основная установка Python. Основной исполняемый файл называется python3.13t.exe, а другие двоичные файлы получают суффикс t или полный суффикс ABI. Исходные файлы Python и входящие в комплект сторонние зависимости используются совместно с основной установкой.
Версия со свободной многопоточностью регистрируется как обычная установка Python с тегом 3.13t (с суффиксом -32 или -arm64, как обычно для этих платформ). Это позволяет инструментам обнаруживать её, а Программе запуска Python для Windows — поддерживать py.exe -3.13t. Обратите внимание: программа запуска интерпретирует py.exe -3 (или шебанг python3) как «последнюю установленную версию 3.x» и отдаёт предпочтение двоичным файлам со свободной многопоточностью перед обычными, тогда как py.exe -3.13 этого не делает. Если вы используете краткую форму параметра, возможно, сейчас вам лучше не устанавливать двоичные файлы со свободной многопоточностью.
Чтобы указать параметр установки в командной строке, используйте Include_freethreaded=1. Инструкции по предварительной загрузке дополнительных двоичных файлов для автономной установки см. в разделе Установка без загрузки. Параметры включения отладочных символов и двоичных файлов также применяются к сборкам со свободной многопоточностью.
Двоичные файлы со свободной многопоточностью также доступны на nuget.org.
4.2. Пакет Microsoft Store
Добавлено в версии 3.7.2.
Пакет Microsoft Store — это легко устанавливаемый интерпретатор Python, предназначенный главным образом для интерактивного использования, например учащимися.
Чтобы установить пакет, убедитесь, что у вас установлены последние обновления Windows 10, и найдите «Python 3.13» в приложении Microsoft Store. Убедитесь, что выбранное приложение опубликовано Python Software Foundation, и установите его.
Предупреждение
Python всегда будет доступен в Microsoft Store бесплатно. Если вас просят заплатить за него, значит, вы выбрали не тот пакет.
После установки Python можно запустить, найдя его в меню «Пуск». Кроме того, он будет доступен из любого сеанса командной строки или PowerShell: для запуска введите python. Аналогично, pip и IDLE можно запустить, введя pip или idle. IDLE также можно найти в меню «Пуск».
Все три команды также доступны с суффиксами номера версии, например python3.exe и python3.x.exe, а также python.exe (где 3.x — нужная версия для запуска, например 3.13). Откройте в меню «Пуск» пункт «Управление псевдонимами выполнения приложений», чтобы выбрать версию Python, связанную с каждой командой. Рекомендуется убедиться, что pip и idle соответствуют выбранной версии python.
Виртуальные окружения можно создавать с помощью python -m venv, а затем активировать и использовать обычным образом.
Если вы установили другую версию Python и добавили её в переменную PATH, она будет доступна как python.exe вместо версии из Microsoft Store. Чтобы обратиться к новой установке, используйте python3.exe или python3.x.exe.
Программа запуска py.exe обнаружит эту установку Python, но будет отдавать предпочтение установкам, выполненным с помощью традиционного установщика.
Чтобы удалить Python, откройте «Параметры» и перейдите в раздел «Приложения и возможности» либо найдите Python в меню «Пуск», щёлкните его правой кнопкой мыши и выберите «Удалить». При удалении будут удалены все пакеты, установленные непосредственно в эту установку Python, но виртуальные окружения удалены не будут.
4.2.1. Известные проблемы
4.2.1.1. Перенаправление локальных данных, реестра и временных путей
Из-за ограничений приложений Microsoft Store сценарии Python могут не иметь полного доступа на запись к общим расположениям, таким как TEMP, и к реестру. Вместо этого запись выполняется в частную копию. Если вашим сценариям необходимо изменять общие расположения, установите полный установщик.
Во время выполнения Python использует частную копию известных папок Windows и реестра. Например, если переменная среды %APPDATA% имеет значение c:\Users\<user>\AppData\, при записи в C:\Users\<user>\AppData\Local данные будут записаны в C:\Users\<user>\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\Local\.
При чтении файлов Windows возвращает файл из частной папки или, если он там отсутствует, из настоящего каталога Windows. Например, чтение C:\Windows\System32 возвращает содержимое C:\Windows\System32 вместе с содержимым C:\Program Files\WindowsApps\package_name\VFS\SystemX86.
Чтобы узнать настоящий путь к существующему файлу, используйте os.path.realpath():
>>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'
При записи в реестр Windows действуют следующие правила:
- Чтение из
HKLM\\Softwareразрешено, а результаты объединяются с файломregistry.datв пакете. - Запись в
HKLM\\Softwareзапрещена, если соответствующий ключ или значение уже существует, то есть нельзя изменять существующие ключи. - Запись в
HKLM\\Softwareразрешена, если соответствующий ключ или значение отсутствует в пакете и у пользователя есть необходимые права доступа.
Дополнительные сведения о технических причинах этих ограничений см. в документации Microsoft о полнофункциональных приложениях в пакетах, доступной по адресу docs.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-behind-the-scenes
4.3. Пакеты nuget.org
Добавлено в версии 3.5.2.
Пакет nuget.org представляет собой уменьшенную среду Python, предназначенную для использования в системах непрерывной интеграции и сборки, где Python не установлен для всей системы. Хотя nuget — это «диспетчер пакетов для .NET», он также отлично подходит для пакетов со средствами, используемыми во время сборки.
Актуальную информацию об использовании nuget можно найти на сайте nuget.org. Ниже приведено краткое описание, достаточное для разработчиков Python.
Средство командной строки nuget.exe можно загрузить напрямую с https://aka.ms/nugetclidl, например, с помощью curl или PowerShell. С его помощью устанавливается последняя версия Python для 64-разрядных или 32-разрядных компьютеров с помощью следующей команды:
nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .
Чтобы выбрать определённую версию, добавьте -Version 3.x.y. Каталог вывода можно изменить с помощью ., а пакет будет установлен во вложенный каталог. По умолчанию имя вложенного каталога совпадает с именем пакета; если не указать параметр -ExcludeVersion, в это имя будет включена конкретная установленная версия. Во вложенном каталоге находится каталог tools с установленным Python:
# Without -ExcludeVersion > .\python.3.5.2\tools\python.exe -V Python 3.5.2 # With -ExcludeVersion > .\python\tools\python.exe -V Python 3.5.2
Как правило, пакеты nuget нельзя обновлять: новые версии следует устанавливать рядом с существующими и указывать к ним полный путь. Кроме того, можно вручную удалить каталог пакета и установить его заново. Многие системы непрерывной интеграции выполняют это автоматически, если не сохраняют файлы между сборками.
Рядом с каталогом tools находится каталог build\native. В нём содержится файл свойств MSBuild python.props, который можно использовать в проекте C++, чтобы указать путь к установке Python. Добавление этих настроек автоматически обеспечит использование заголовочных файлов и библиотек импорта при сборке.
Страницы пакетов на nuget.org: www.nuget.org/packages/python для 64-разрядной версии, www.nuget.org/packages/pythonx86 для 32-разрядной версии и www.nuget.org/packages/pythonarm64 для версии ARM64
4.3.1. Пакеты со свободной многопоточностью
Добавлено в версии 3.13: (экспериментально)
Примечание
Всё описанное в этом разделе считается экспериментальным, поэтому следует ожидать изменений в будущих выпусках.
Пакеты, содержащие двоичные файлы со свободной многопоточностью, называются python-freethreaded для 64-разрядной версии, pythonx86-freethreaded для 32-разрядной версии и pythonarm64-freethreaded для версии ARM64. Эти пакеты содержат точки входа python3.13t.exe и python.exe, обе из которых работают со свободной многопоточностью.
4.4. Встраиваемый пакет
Добавлено в версии 3.5.
Встраиваемый дистрибутив — это ZIP-файл, содержащий минимальную среду Python. Он предназначен для использования в составе другого приложения, а не для непосредственного доступа конечных пользователей.
После распаковки встраиваемый дистрибутив оказывается (почти) полностью изолированным от системы пользователя, включая переменные среды, параметры системного реестра и установленные пакеты. Стандартная библиотека включена в виде предварительно скомпилированных и оптимизированных файлов .pyc в ZIP-архиве; также предоставляются python3.dll, python37.dll, python.exe и pythonw.exe. Tcl/tk (включая все зависимые компоненты, такие как Idle), pip и документация Python не включены.
Примечание
Встраиваемый дистрибутив не включает Microsoft C Runtime; его установку должно обеспечить приложение. Возможно, среда выполнения уже была установлена в системе пользователя ранее или автоматически через Windows Update. Её можно обнаружить, найдя ucrtbase.dll в системном каталоге.
Сторонние пакеты следует устанавливать с помощью установщика приложения рядом со встраиваемым дистрибутивом. Этот дистрибутив не поддерживает управление зависимостями с помощью pip, как при обычной установке Python, хотя при соблюдении определённых условий может оказаться возможным включить pip и использовать его для автоматических обновлений. Как правило, сторонние пакеты следует считать частью приложения («включать в состав»), чтобы разработчик мог проверить их совместимость с новыми версиями до выпуска обновлений для пользователей.
Ниже описаны два рекомендуемых варианта использования этого дистрибутива.
4.4.1. Приложение на Python
Пользователям приложения, написанного на Python, необязательно знать об этом. В таком случае встраиваемый дистрибутив можно использовать для включения частной версии Python в установочный пакет. В зависимости от того, насколько незаметным должно быть это решение (или, наоборот, насколько профессионально оно должно выглядеть), есть два варианта.
Использование специализированного исполняемого файла в качестве программы запуска требует написания кода, но обеспечивает наиболее незаметную работу для пользователей. При наличии настроенной программы запуска нет очевидных признаков того, что программа работает на Python: можно настроить значки, указать сведения о компании и версии, а ассоциации файлов будут работать правильно. В большинстве случаев пользовательская программа запуска должна лишь вызывать Py_Main с жёстко заданной командной строкой.
Более простой подход — предоставить пакетный файл или созданный ярлык, который непосредственно вызывает python.exe или pythonw.exe с необходимыми аргументами командной строки. В этом случае приложение будет выглядеть как Python, а не как программа со своим настоящим именем; пользователям может быть трудно отличить его от других запущенных процессов Python или ассоциаций файлов.
При использовании второго подхода пакеты следует устанавливать в каталоги рядом с исполняемым файлом Python, чтобы они были доступны по пути поиска. При использовании специализированной программы запуска пакеты можно разместить в других местах, поскольку перед запуском приложения можно указать пути поиска.
4.4.2. Встраивание Python
Приложения, написанные на машинном коде, часто нуждаются в каком-либо языке сценариев; для этой цели можно использовать встраиваемый дистрибутив Python. Как правило, большая часть приложения написана на машинном коде, а отдельная его часть либо вызывает python.exe, либо напрямую использует python3.dll. В обоих случаях достаточно распаковать встраиваемый дистрибутив во вложенный каталог установки приложения, чтобы получить загружаемый интерпретатор Python.
Как и при использовании дистрибутива в приложении, пакеты можно устанавливать в любое расположение, поскольку перед инициализацией интерпретатора можно указать пути поиска. В остальном принципиальных различий между использованием встраиваемого дистрибутива и обычной установкой нет.
4.5. Альтернативные дистрибутивы
Помимо стандартного дистрибутива CPython существуют модифицированные пакеты с дополнительными функциями. Ниже приведён список популярных версий и их основных возможностей:
- ActivePython
-
Установщик с поддержкой нескольких платформ, документацией и PyWin32
- Anaconda
-
Популярные научные модули (например, numpy, scipy и pandas) и пакетный менеджер
conda. - Enthought Deployment Manager
-
«Среда Python и пакетный менеджер нового поколения».
Ранее Enthought предлагала Canopy, но в 2016 году он достиг конца срока службы.
- WinPython
-
Дистрибутив для Windows с предварительно собранными научными пакетами и инструментами для сборки пакетов.
Обратите внимание, что эти пакеты могут не включать последние версии Python или других библиотек и не поддерживаются и не сопровождаются основной командой Python.
4.6. Настройка Python
Чтобы было удобнее запускать Python из командной строки, можно изменить некоторые переменные среды Windows, заданные по умолчанию. Установщик позволяет настроить переменные PATH и PATHEXT, однако этот способ надёжен только при единственной установке для всей системы. Если вы регулярно используете несколько версий Python, воспользуйтесь средством запуска Python для Windows.
4.6.1. Отступление: настройка переменных среды
В Windows переменные среды можно настроить постоянно на уровне пользователя и системы или временно в командной строке.
Чтобы временно задать переменные среды, откройте командную строку и используйте команду set:
C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python
Эти изменения будут применяться ко всем последующим командам, выполняемым в этой консоли, и будут унаследованы всеми приложениями, запущенными из неё.
Если заключить имя переменной в знаки процента, её текущее значение будет подставлено, что позволяет добавить новое значение в начало или конец. Добавление каталога с файлом python.exe в начало переменной PATH — распространённый способ обеспечить запуск нужной версии Python.
Чтобы навсегда изменить переменные среды по умолчанию, нажмите кнопку «Пуск» и выполните поиск по запросу «изменение переменных среды» либо откройте свойства системы, выберите Дополнительные параметры системы и нажмите кнопку Переменные среды. В этом диалоговом окне можно добавлять и изменять переменные пользователя и системы. Для изменения системных переменных необходим доступ без ограничений к компьютеру (то есть права администратора).
Примечание
Windows объединяет переменные пользователя после системных переменных, что может привести к неожиданным результатам при изменении PATH.
Переменная PYTHONPATH используется всеми версиями Python, поэтому не следует настраивать её постоянно, если только указанные пути не содержат исключительно код, совместимый со всеми установленными версиями Python.
См. также
- https://learn.microsoft.com/windows/win32/procthread/environment-variables
-
Обзор переменных среды в Windows
- https://learn.microsoft.com/windows-server/administration/windows-commands/set_1
-
Команда
setдля временного изменения переменных среды - https://learn.microsoft.com/windows-server/administration/windows-commands/setx
-
Команда
setxдля постоянного изменения переменных среды
4.6.2. Поиск исполняемого файла Python
Изменено в версии 3.5.
Помимо запуска интерпретатора Python через автоматически созданный ярлык в меню «Пуск», вы можете запускать Python из командной строки. Установщик позволяет настроить это.
На первой странице установщика можно выбрать параметр «Add Python to PATH», чтобы установщик добавил путь установки в PATH. Также добавляется расположение каталога Scripts\. Благодаря этому для запуска интерпретатора можно ввести команду python, а для запуска установщика пакетов — pip. Это также позволяет запускать сценарии с параметрами командной строки; см. документацию Командная строка.
Если вы не включили этот параметр при установке, можно снова запустить установщик, выбрать «Modify» и включить его. В качестве альтернативы можно вручную изменить PATH, следуя указаниям в разделе Отступление: настройка переменных среды. Необходимо добавить каталог установки Python в переменную среды PATH, отделив его точкой с запятой от остальных записей. Пример такой переменной (предполагается, что первые две записи уже существуют):
C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9
4.7. Режим UTF-8
Добавлено в версии 3.7.
В Windows по-прежнему используются устаревшие кодировки для системной кодировки (ANSI-кодовая страница). Python применяет её как кодировку по умолчанию для текстовых файлов (например, в locale.getencoding()).
Это может вызывать проблемы, поскольку UTF-8 широко используется в интернете и в большинстве Unix-систем, включая WSL (подсистему Windows для Linux).
Чтобы изменить кодировку текста по умолчанию на UTF-8, можно использовать режим UTF-8 Python. Включить режим UTF-8 Python можно с помощью параметра командной строки -X utf8 или переменной среды PYTHONUTF8=1. Информацию о включении режима UTF-8 см. в разделе PYTHONUTF8, а о настройке переменных среды — в разделе Отступление: настройка переменных среды.
При включённом режиме UTF-8 Python системную кодировку (ANSI-кодовую страницу) по-прежнему можно использовать с помощью кодека «mbcs».
Обратите внимание, что добавление PYTHONUTF8=1 в переменные среды по умолчанию повлияет на все приложения Python 3.7+ в вашей системе. Если у вас есть приложения Python 3.7+, использующие устаревшую системную кодировку, рекомендуется задавать переменную среды временно или использовать параметр командной строки -X utf8.
Примечание
Даже если режим UTF-8 отключён, в Windows Python по умолчанию использует UTF-8 для:
- ввода-вывода консоли, включая стандартный ввод-вывод (подробности см. в PEP 528);
- кодировки файловой системы (подробности см. в PEP 529).
4.8. Средство запуска Python для Windows
Добавлено в версии 3.3.
Средство запуска Python для Windows — это утилита, которая помогает находить и запускать разные версии Python. Она позволяет сценариям (или командной строке) указывать предпочтительную версию Python, а затем находит и запускает эту версию.
В отличие от переменной PATH, средство запуска правильно выбирает наиболее подходящую версию Python. Оно отдаёт предпочтение установкам для отдельного пользователя, а не установкам для всей системы, и сортирует версии по версии языка, а не по времени установки.
Средство запуска изначально было описано в PEP 397.
4.8.1. Начало работы
4.8.1.1. Из командной строки
Изменено в версии 3.6.
При установке Python 3.3 и более поздних версий для всей системы средство запуска добавляется в переменную PATH. Средство запуска совместимо со всеми доступными версиями Python, поэтому не имеет значения, какая версия установлена. Чтобы проверить, доступно ли средство запуска, выполните в командной строке следующую команду:
py
Должна запуститься последняя установленная версия Python. Выйти из неё можно обычным способом, а все указанные дополнительные аргументы командной строки будут переданы непосредственно Python.
Если у вас установлено несколько версий Python (например, 3.7 и 3.13), вы заметите, что запустилась Python 3.13. Чтобы запустить Python 3.7, попробуйте следующую команду:
py -3.7
Чтобы запустить последнюю установленную версию Python 2, попробуйте следующую команду:
py -2
Если вы видите следующую ошибку, средство запуска не установлено:
'py' is not recognized as an internal or external command, operable program or batch file.
Команда:
py --list
показывает установленные версии Python.
Аргумент -x.y — это краткая форма аргумента -V:Company/Tag, который позволяет выбрать конкретную среду выполнения Python, в том числе полученную не с сайта python.org. Можно обнаружить любую среду выполнения, зарегистрированную в соответствии с PEP 514. Команда --list перечисляет все доступные среды выполнения в формате -V:.
При использовании аргумента -V: указание компании ограничит выбор средами выполнения от этого поставщика, а указание только тега позволит выбирать среди всех поставщиков. Обратите внимание: отсутствие косой черты означает, что указанный параметр является тегом:
# Select any '3.*' tagged runtime py -V:3 # Select any 'PythonCore' released runtime py -V:PythonCore/ # Select PythonCore's latest Python 3 runtime py -V:PythonCore/3
Краткая форма аргумента (-3) выбирает только основные выпуски Python, но не другие дистрибутивы. Расширенная форма (-V:3) позволяет выбрать любой дистрибутив.
Сравнение компании выполняется по всей строке без учёта регистра. Тег сравнивается либо целиком, либо по префиксу, если следующий символ — точка или дефис. Благодаря этому -V:3.1 соответствует 3.1-32, но не 3.10. Теги сортируются численно (3.10 новее, чем 3.1), но сравниваются как текст (-V:3.01 не соответствует 3.1).
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 %s\n" % (sys.version,))
В каталоге, где находится hello.py, выполните команду:
py hello.py
На экран должен быть выведен номер версии последней установленной версии Python 2.x. Теперь попробуйте изменить первую строку на:
#! python3
При повторном выполнении команды будут выведены сведения о последней версии Python 3.x. Как и в приведённых выше примерах командной строки, можно указать более точную версию. Если у вас установлена Python 3.7, попробуйте изменить первую строку на #! python3.7, и на экран должны быть выведены сведения о версии 3.7.
Обратите внимание: в отличие от интерактивного режима, простая команда «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, как показано в приведённых выше примерах.
Чтобы строки шебанга в сценариях Python были переносимыми между Unix и Windows, средство запуска поддерживает несколько «виртуальных» команд для указания нужного интерпретатора. Поддерживаются следующие виртуальные команды:
/usr/bin/env/usr/bin/python/usr/local/bin/pythonpython
Например, если первая строка сценария начинается с
#! /usr/bin/python
Будет найден и использован интерпретатор Python по умолчанию или интерпретатор активной виртуальной среды. Многие сценарии Python, написанные для Unix, уже содержат эту строку, поэтому средство запуска сможет использовать их без изменений. Если вы пишете новый сценарий в Windows, который может пригодиться и в Unix, используйте одну из строк шебанга, начинающихся с /usr.
К любой из перечисленных выше виртуальных команд можно добавить конкретную версию (только основную либо основную и дополнительную). Кроме того, можно запросить 32-разрядную версию, добавив «-32» после дополнительной версии. Например, /usr/bin/python3.7-32 запросит 32-разрядную версию Python 3.7. Если активна виртуальная среда, версия будет проигнорирована и будет использоваться эта среда.
Добавлено в версии 3.7: Начиная со средства запуска Python 3.7 можно запросить 64-разрядную версию, добавив суффикс «-64». Кроме того, можно указать основную версию и архитектуру без дополнительной версии (например, /usr/bin/python3-64).
Изменено в версии 3.11: Суффикс «-64» объявлен устаревшим и теперь означает «любая архитектура, кроме гарантированно 32-разрядной i386». Чтобы запросить конкретную среду, используйте новый аргумент -V:TAG с полным тегом.
Изменено в версии 3.13: Виртуальные команды, ссылающиеся на python, теперь отдают предпочтение активной виртуальной среде, а не поиску в PATH. Это позволяет обрабатывать случаи, когда в строке шебанга указано /usr/bin/env python3, но в активной среде отсутствует python3.exe.
У формы строки шебанга /usr/bin/env есть ещё одно особое свойство. Прежде чем искать установленные интерпретаторы Python, эта форма ищет в исполняемом файле PATH исполняемый файл Python с именем, заданным первым аргументом. Это соответствует поведению программы Unix env, которая выполняет поиск PATH. Если исполняемый файл, соответствующий первому аргументу после команды env, не найден, но аргумент начинается с python, он будет обработан так же, как и другие виртуальные команды. Чтобы пропустить поиск в PATH, можно задать переменную среды PYLAUNCHER_NO_SEARCH_PATH (любым значением).
Для строк шебанга, не соответствующих ни одному из этих шаблонов, поиск выполняется в разделе [commands] файла .INI средства запуска. Это можно использовать для обработки определённых команд способом, подходящим для вашей системы. Имя команды должно состоять из одного аргумента (в исполняемом файле шебанга не должно быть пробелов), а подставляемым значением является полный путь к исполняемому файлу (дополнительные аргументы, указанные в .INI-файле, будут включены в имя файла в кавычках).
[commands] /bin/xpython=C:\Program Files\XPython\python.exe
Команды, не найденные в .INI-файле, рассматриваются как пути к исполняемым файлам Windows, являющиеся абсолютными или относительными к каталогу, содержащему файл сценария. Это удобно для сценариев, предназначенных только для Windows, например созданных установщиком, поскольку такое поведение несовместимо с оболочками Unix. Эти пути можно заключать в кавычки и дополнять несколькими аргументами; после них будут добавлены путь к сценарию и любые дополнительные аргументы.
4.8.3. Аргументы в строках шебанга
В строках шебанга также можно указать дополнительные параметры, которые будут переданы интерпретатору Python. Например, если строка шебанга выглядит так:
#! /usr/bin/python -v
Python будет запущен с параметром -v
4.8.4. Настройка
4.8.4.1. Настройка с помощью INI-файлов
Средство запуска ищет два .ini-файла: py.ini в каталоге данных приложений текущего пользователя (%LOCALAPPDATA% или $env:LocalAppData) и py.ini в том же каталоге, что и средство запуска. Одни и те же .ini-файлы используются как консольной версией средства запуска (то есть py.exe), так и версией для Windows (то есть pyw.exe).
Настройки, указанные в «каталоге приложения», имеют приоритет над настройками рядом с исполняемым файлом. Поэтому пользователь, у которого может не быть доступа на запись к .ini-файлу рядом со средством запуска, может переопределить команды в этом глобальном .ini-файле.
4.8.4.2. Настройка версий Python по умолчанию
В некоторых случаях в команду можно включить спецификатор версии, указывающий, какую версию Python следует использовать. Спецификатор версии начинается с номера основной версии; за ним необязательно могут следовать точка («.») и номер дополнительной версии. Кроме того, можно запросить 32- или 64-разрядную реализацию, добавив «-32» или «-64».
Например, строка шебанга #!python не содержит спецификатора версии, тогда как #!python3 содержит спецификатор, указывающий только основную версию.
Если команда не содержит спецификатора версии, для задания спецификатора по умолчанию можно установить переменную среды PY_PYTHON. Если она не задана, используется значение «3». Переменной можно присвоить любое значение, допустимое в командной строке, например «3», «3.7», «3.7-32» или «3.7-64». (Обратите внимание: параметр «-64» доступен только в средстве запуска, входящем в состав Python 3.7 или более поздней версии.)
Если в команде не указан номер дополнительной версии, переменную среды PY_PYTHON{major} (где {major} — определённый выше текущий спецификатор основной версии) можно задать для указания полной версии. Если такой параметр не задан, средство запуска перечислит установленные версии Python и выберет последнюю дополнительную версию для указанной основной версии. Скорее всего, но не гарантированно, это будет последняя установленная версия в данной линейке.
В 64-разрядной Windows, если установлены 32- и 64-разрядные реализации одной и той же версии Python (основной и дополнительной), всегда будет предпочтительна 64-разрядная версия. Это правило действует для 32- и 64-разрядных вариантов средства запуска: 32-разрядное средство запуска предпочтёт запустить 64-разрядную установку Python указанной версии, если она доступна. Благодаря этому поведение средства запуска можно предсказать, зная только установленные на компьютере версии, независимо от порядка их установки (то есть не зная, какая версия Python и соответствующее средство запуска — 32- или 64-разрядная — была установлена последней). Как отмечалось выше, суффикс «-32» или «-64» в спецификаторе версии позволяет изменить это поведение.
Примеры:
- Если соответствующие параметры не заданы, команды
pythonиpython2будут использовать последнюю установленную версию Python 2.x, а командаpython3— последнюю установленную версию Python 3.x. - Команда
python3.7не будет учитывать никакие параметры, поскольку версии указаны полностью. - Если задано
PY_PYTHON=3, командыpythonиpython3будут использовать последнюю установленную версию Python 3. - Если задано
PY_PYTHON=3.7-32, командаpythonбудет использовать 32-разрядную реализацию версии 3.7, тогда как командаpython3будет использовать последнюю установленную версию Python (PY_PYTHON не учитывается, поскольку указана основная версия). - Если заданы
PY_PYTHON=3иPY_PYTHON3=3.7, командыpythonиpython3будут использовать именно версию 3.7.
Помимо переменных среды те же параметры можно настроить в .INI-файле, используемом средством запуска. Раздел INI-файла называется [defaults], а имена ключей совпадают с именами переменных среды без префикса PY_ (обратите внимание, что регистр символов в именах ключей INI-файла не учитывается). Значение переменной среды переопределяет настройки, указанные в INI-файле.
Например:
- Настройка
PY_PYTHON=3.7эквивалентна следующему содержимому INI-файла:
[defaults] python=3.7
- Настройка
PY_PYTHON=3иPY_PYTHON3=3.7эквивалентна следующему содержимому INI-файла:
[defaults] python=3 python3=3.7
4.8.5. Диагностика
Если переменной среды PYLAUNCHER_DEBUG присвоено любое значение, средство запуска выведет диагностические сведения в stderr (то есть в консоль). Несмотря на то, что эти сведения одновременно многословны и лаконичны, они должны помочь выяснить, какие версии Python были найдены, почему была выбрана конкретная версия и какая именно команда командной строки использовалась для запуска целевого Python. Эта возможность предназначена в первую очередь для тестирования и отладки.
4.8.6. Пробный запуск
Если переменной среды PYLAUNCHER_DRYRUN присвоено любое значение, средство запуска выведет команду, которую оно выполнило бы, но не будет запускать Python. Это может быть полезно инструментам, использующим средство запуска для обнаружения Python, а затем для его прямого запуска. Обратите внимание: команда выводится в стандартный вывод в кодировке UTF-8 и может отображаться в консоли некорректно.
4.8.7. Установка по запросу
Если переменной среды PYLAUNCHER_ALLOW_INSTALL присвоено любое значение, а запрошенная версия Python не установлена, но доступна в Microsoft Store, средство запуска попытается её установить. Для завершения установки может потребоваться участие пользователя, и, возможно, команду придётся выполнить повторно.
Дополнительная переменная PYLAUNCHER_ALWAYS_INSTALL заставляет средство запуска всегда пытаться установить Python, даже если он уже обнаружен. Эта возможность предназначена главным образом для тестирования (и её следует использовать вместе с PYLAUNCHER_DRYRUN).
4.8.8. Коды возврата
Средство запуска Python может возвращать следующие коды завершения. К сожалению, отличить их от кода завершения самого Python невозможно.
Названия кодов соответствуют используемым в исходном коде и приведены только для справки. Получить к ним доступ или расшифровать их иным способом, кроме как прочитать эту страницу, невозможно. Записи перечислены в алфавитном порядке названий.
Название | Значение | Описание |
|---|---|---|
RC_BAD_VENV_CFG | 107 | Файл |
RC_CREATE_PROCESS | 101 | Не удалось запустить Python. |
RC_INSTALLING | 111 | Установка начата, но после её завершения команду потребуется выполнить повторно. |
RC_INTERNAL_ERROR | 109 | Непредвиденная ошибка. Сообщите об ошибке. |
RC_NO_COMMANDLINE | 108 | Не удалось получить командную строку от операционной системы. |
RC_NO_PYTHON | 103 | Не удалось найти запрошенную версию. |
RC_NO_VENV_CFG | 106 | Требуемый файл |
4.9. Поиск модулей
Эти примечания дополняют описание в разделе Инициализация пути поиска модулей sys.path подробной информацией о Windows.
Если файл ._pth не найден, в Windows sys.path заполняется следующим образом:
- В начало добавляется пустая запись, соответствующая текущему каталогу.
- Если существует переменная среды
PYTHONPATH, как описано в разделе Переменные среды, её записи добавляются следующими. Обратите внимание: в Windows пути в этой переменной должны разделяться точками с запятой, чтобы отличать их от двоеточия, используемого в обозначениях дисков (C:\и т. д.). - Дополнительные «пути приложений» можно добавить в реестр в качестве подразделов
\SOFTWARE\Python\PythonCore{version}\PythonPathв кустахHKEY_CURRENT_USERиHKEY_LOCAL_MACHINE. Если в качестве значения по умолчанию для подраздела заданы строки путей, разделённые точками с запятой, каждый из этих путей будет добавлен вsys.path. (Обратите внимание: все известные программы установки используют только HKLM, поэтому HKCU обычно пуст.) - Если задана переменная среды
PYTHONHOME, её значение считается «домашним каталогом Python». В противном случае путь к основному исполняемому файлу Python используется для поиска «файла-маркера» (Lib\os.pyилиpythonXY.zip), по которому определяется «домашний каталог Python». Если домашний каталог Python найден, соответствующие подкаталоги, добавляемые вsys.path(Lib,plat-winи т. д.), выбираются относительно этой папки. В противном случае основной путь Python формируется на основе PythonPath, сохранённого в реестре. - Если домашний каталог Python определить не удаётся, в среде не задана переменная
PYTHONPATHи в реестре нет соответствующих записей, используется путь по умолчанию с относительными записями (например,.\Lib;.\plat-winи т. д.).
Если файл pyvenv.cfg найден рядом с основным исполняемым файлом или в каталоге на один уровень выше него, применяются следующие особенности:
- Если
home— абсолютный путь и переменнаяPYTHONHOMEне задана, этот путь используется вместо пути к основному исполняемому файлу при определении домашнего каталога.
В результате:
- При запуске
python.exeили любого другого .exe-файла в основном каталоге Python (как установленной версии, так и непосредственно из каталога PCbuild) основной путь определяется, а основные пути из реестра игнорируются. Другие «пути приложений» в реестре всегда считываются. - Если Python размещён в другом .exe-файле (в другом каталоге, встроен через COM и т. д.), «домашний каталог Python» определить не удаётся, поэтому используется основной путь из реестра. Другие «пути приложений» в реестре всегда считываются.
- Если Python не может найти свой домашний каталог и в реестре нет значений (замороженный .exe-файл, необычная конфигурация установки), используется путь с несколькими путями по умолчанию, но относительными.
Если вы хотите включить Python в своё приложение или дистрибутив, следуйте приведённым ниже рекомендациям, чтобы избежать конфликтов с другими установками:
- Поместите рядом с исполняемым файлом файл
._pthсо списком включаемых каталогов. Это позволит игнорировать пути, указанные в реестре и переменных среды, а также игнорироватьsite, если только в списке не указанimport site. - Если в собственном исполняемом файле вы загружаете
python3.dllилиpython37.dll, явно задайтеPyConfig.module_search_pathsперед вызовомPy_InitializeFromConfig(). - Очистите и/или перезапишите
PYTHONPATHи задайтеPYTHONHOMEперед запускомpython.exeиз приложения. - Если вы не можете воспользоваться предыдущими рекомендациями (например, вы создаёте дистрибутив, позволяющий запускать
python.exeнапрямую), убедитесь, что файл-маркер (Lib\os.py) находится в каталоге установки. (Обратите внимание: он не будет обнаружен внутри ZIP-файла, но ZIP-файл с правильным именем будет обнаружен.)
Эти меры гарантируют, что файлы системной установки не будут иметь приоритет над копией стандартной библиотеки, включённой в приложение. В противном случае у пользователей могут возникнуть проблемы при работе с приложением. Первый совет — лучший, поскольку остальные всё ещё могут зависеть от нестандартных путей в реестре и пользовательских site-packages.
Изменено в версии 3.6: Добавлена поддержка файла ._pth и удалён параметр applocal из pyvenv.cfg.
Изменено в версии 3.6: Добавлен pythonXX.zip в качестве возможного файла-маркера, если он находится непосредственно рядом с исполняемым файлом.
Устарело начиная с версии 3.6: Модули, указанные в реестре в разделе Modules (но не PythonPath), могут импортироваться с помощью importlib.machinery.WindowsRegistryFinder. Этот механизм поиска включён в Windows в версиях 3.6.0 и более ранних, но в будущем его, возможно, потребуется явно добавлять в sys.meta_path.
4.10. Дополнительные модули
Хотя Python стремится быть переносимым между всеми платформами, в Windows есть уникальные возможности. Существуют несколько модулей — как из стандартной библиотеки, так и внешних — и фрагментов кода для использования этих возможностей.
Модули стандартной библиотеки, специфичные для Windows, описаны в разделе Службы, специфичные для MS Windows.
4.10.1. PyWin32
Модуль PyWin32, созданный Марком Хаммондом, представляет собой набор модулей для расширенной поддержки возможностей Windows. В него входят средства для работы с:
- Component Object Model (COM)
- вызовами Win32 API
- реестром
- журналом событий
- Microsoft Foundation Classes (MFC) для создания пользовательских интерфейсов
PythonWin — пример приложения MFC, поставляемый с PyWin32. Это встраиваемая интегрированная среда разработки со встроенным отладчиком.
См. также
- Как это сделать в Win32…?
-
Тим Голден
- Python и COM
-
Дэвид и Пол Бодди
4.10.2. cx_Freeze
cx_Freeze упаковывает скрипты Python в исполняемые программы Windows (файлы *.exe). После этого приложение можно распространять, не требуя от пользователей установки Python.
4.11. Компиляция Python в Windows
Если вы хотите самостоятельно скомпилировать CPython, прежде всего получите исходный код. Вы можете скачать исходный код последнего выпуска или получить свежую копию репозитория.
Дерево исходного кода содержит решение сборки и файлы проектов для Microsoft Visual Studio — компилятора, используемого для сборки официальных выпусков Python. Эти файлы находятся в каталоге PCbuild.
Общие сведения о процессе сборки см. в PCbuild/readme.txt.
Сведения о модулях расширения см. в разделе Сборка расширений C и C++ в Windows.
4.12. Другие платформы
По мере развития Python некоторые платформы, которые ранее поддерживались, больше не поддерживаются (из-за недостатка пользователей или разработчиков). Подробные сведения обо всех неподдерживаемых платформах см. в PEP 11.
- Windows CE больше не поддерживается начиная с Python 3 (если вообще когда-либо поддерживалась).
- Установщик Cygwin также предлагает установить интерпретатор Python.
Подробные сведения о платформах, для которых доступны предварительно скомпилированные установщики, см. на странице Python для Windows.
© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/using/windows.html