windows.md
1> **Источник:** https://python-all.ru/3.0/using/windows.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Использование Python в Windows89Этот документ содержит обзор особенностей поведения Windows, которые следует учитывать при использовании Python в Microsoft Windows.1011## Установка Python1213В отличие от большинства систем и служб Unix, Windows не требует Python изначально и, соответственно, не предустанавливает его версию. Однако команда CPython уже много лет собирает установщики для Windows (пакеты MSI) для каждого [релиза](https://python-all.ru/3.0/using/windows.html).1415В процессе развития Python некоторые платформы, которые ранее поддерживались, больше не поддерживаются (из-за отсутствия пользователей или разработчиков). Обратитесь к [**PEP 11**](https://python-all.ru/3.0/using/windows.html) для получения подробной информации о всех неподдерживаемых платформах.1617- До версии 2.5 Python всё ещё был совместим с Windows 95, 98 и ME (но уже выдавал предупреждение об устаревании при установке). Начиная с Python 2.6 (и всех последующих выпусков) эта поддержка была прекращена, и новые версии, как ожидается, работают только на семействе Windows NT.18- [Windows CE](https://python-all.ru/3.0/using/windows.html) всё ещё поддерживается.19- Установщик [Cygwin](https://python-all.ru/3.0/using/windows.html) также предлагает установить [интерпретатор Python](https://python-all.ru/3.0/using/windows.html); он находится в разделе «Interpreters». (см. [исходный код пакета Cygwin](ftp://ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/mirrors/cygnus/release/python), [релизы сопровождающего](https://python-all.ru/3.0/using/windows.html))2021Подробную информацию о платформах с предварительно скомпилированными установщиками см. в [Python for Windows (and DOS)](https://python-all.ru/3.0/using/windows.html).2223> **См. также**24>25> **[Python на XP](https://python-all.ru/3.0/using/windows.html)**26>27> «7 минут до "Hello World!"» автор: Ричард Дулинг, 200628>29> **[Установка в Windows](https://python-all.ru/3.0/using/windows.html)**30>31> в «32>33> [Dive into Python: Python from novice to pro](https://python-all.ru/3.0/using/windows.html)34>35> » Марк Пилигрим, 2004, ISBN 1-59059-356-136>37> **[Для пользователей Windows](https://python-all.ru/3.0/using/windows.html)**38>39> в «Installing Python» в «40>41> [A Byte of Python](https://python-all.ru/3.0/using/windows.html)42>43> » Сваруп C H, 20034445## Альтернативные пакеты4647Помимо стандартного дистрибутива CPython, существуют модифицированные пакеты, включающие дополнительную функциональность. Ниже приведён список популярных версий и их ключевые особенности:4849**[ActivePython](https://python-all.ru/3.0/using/windows.html)**5051Установщик с поддержкой нескольких платформ, документация, PyWin325253**[Python Enthought Edition](https://python-all.ru/3.0/using/windows.html)**5455Популярные модули (такие как PyWin32) с соответствующей документацией, набор инструментов для создания расширяемых приложений на Python5657Обратите внимание, что эти пакеты, скорее всего, установят *более старые* версии Python.5859## Настройка Python6061Чтобы Python работал безупречно, возможно, придётся изменить некоторые настройки окружения в Windows.6263### Экскурс: настройка переменных окружения6465В Windows есть встроенный диалог для изменения переменных среды (следующее руководство применимо к классическому виду XP): щёлкните правой кнопкой мыши значок вашего компьютера (обычно находится на рабочем столе и называется «Мой компьютер») и выберите *Свойства*. Затем откройте вкладку **Дополнительно** и нажмите кнопку **Переменные среды**.6667Кратко, ваш путь:6869> *Мой компьютер ‣ Свойства ‣ Дополнительно ‣ Переменные среды*7071В этом диалоге можно добавлять или изменять пользовательские и системные переменные. Чтобы изменить системные переменные, нужен полный доступ к компьютеру (т.е. права администратора).7273Ещё один способ добавить переменные в окружение – использовать команду **set**:7475```text76set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib77```7879Чтобы сделать эту настройку постоянной, можно добавить соответствующую команду в `autoexec.bat`. **msconfig** – это графический интерфейс к этому файлу.8081Просмотреть переменные окружения можно и проще: командная строка автоматически раскрывает строки, заключённые в знаки процента:8283```text84echo %PATH%85```8687Подробнее об этом поведении см. **set /?**.8889> **См. также**90>91> **[http://support.microsoft.com/kb/100843](https://python-all.ru/3.0/using/windows.html)**92>93> Переменные среды в Windows NT94>95> **[http://support.microsoft.com/kb/310519](https://python-all.ru/3.0/using/windows.html)**96>97> Как управлять переменными среды в Windows XP98>99> **[http://www.chem.gla.ac.uk/~louis/software/faq/q1.html](https://python-all.ru/3.0/using/windows.html)**100>101> Настройка переменных среды, Луи Дж. Фарруджа102103### Поиск исполняемого файла Python104105Помимо использования автоматически созданного пункта меню «Пуск» для интерпретатора Python, возможно, потребуется запускать Python из командной строки DOS. Чтобы это работало, необходимо установить переменную среды **%PATH%**, включив в неё каталог дистрибутива Python, отделяя его точкой с запятой от других записей. Пример значения переменной может выглядеть так (при условии, что первые две записи – это настройки Windows по умолчанию):106107```text108C:\WINDOWS\system32;C:\WINDOWS;C:\Python25109```110111Ввод **python** в командной строке теперь запускает интерпретатор Python. Таким образом, можно также выполнять скрипты с параметрами командной строки; см. документацию [*Command line*](https://python-all.ru/3.0/using/cmdline.html#using-on-cmdline).112113### Поиск модулей114115Python обычно хранит свою библиотеку (и, соответственно, папку site-packages) в каталоге установки. Так, если вы установили Python в `C:\Python\`, библиотека по умолчанию будет находиться в `C:\Python\Lib\`, а сторонние модули должны храниться в `C:\Python\Lib\site-packages\`.116117Вы можете добавить папки в путь поиска, чтобы механизм импорта Python также искал в этих каталогах. Используйте [**PYTHONPATH**](https://python-all.ru/3.0/using/cmdline.html#envvar-PYTHONPATH), как описано в [*Переменные окружения*](https://python-all.ru/3.0/using/cmdline.html#using-on-envvars), для изменения [`sys.path`](https://python-all.ru/3.0/library/sys.html#sys.path). Однако в Windows пути разделяются точкой с запятой, чтобы отличать их от идентификаторов дисков (`C:\` и т.д.).118119Изменение пути поиска модулей также можно выполнить через реестр Windows: отредактируйте `HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\версия\PythonPath\`, как описано выше для переменной окружения **%PYTHONPATH%**. Удобным редактором реестра является **regedit** (запустите его, введя «regedit» в *Пуск ‣ Выполнить*).120121### Выполнение скриптов122123Скрипты Python (файлы с расширением `.py`) по умолчанию выполняются **python.exe**. Эта программа открывает терминал, который остаётся открытым, даже если программа использует графический интерфейс. Если этого не требуется, используйте расширение `.pyw` – тогда скрипт будет по умолчанию выполняться **pythonw.exe** (оба исполняемых файла находятся в корневом каталоге установки Python). При этом окно терминала при запуске не отображается.124125Можно также настроить выполнение всех скриптов `.py` с помощью **pythonw.exe**, используя стандартные средства, например (может потребоваться права администратора):1261271. Откройте командную строку.1282. Свяжите правильную группу файлов со скриптами `.py`:129130 ```text131 assoc .py=Python.File132 ```1333. Перенаправьте все файлы Python на новый исполняемый файл:134135 ```text136 ftype Python.File=C:\Path\to\pythonw.exe "%1" %*137 ```138139## Дополнительные модули140141Хотя Python стремится быть переносимым между всеми платформами, существуют функции, уникальные для Windows. Ряд модулей, как в стандартной библиотеке, так и внешних, а также фрагменты кода позволяют использовать эти возможности.142143Стандартные модули, специфичные для Windows, описаны в [*Специфичные службы MS Windows*](https://python-all.ru/3.0/library/windows.html#mswin-specific-services).144145### PyWin32146147Модуль [PyWin32](https://python-all.ru/3.0/using/windows.html) от Марка Хаммонда – это набор модулей для расширенной поддержки Windows. Он включает утилиты для:148149- [Компонентная объектная модель](https://python-all.ru/3.0/using/windows.html) (COM)150- Вызовы Win32 API151- Реестр152- Журнал событий153- [Microsoft Foundation Classes](https://python-all.ru/3.0/using/windows.html) (MFC) пользовательские интерфейсы154155[PythonWin](https://python-all.ru/3.0/using/windows.html) – это пример MFC-приложения, поставляемого с PyWin32. Это встраиваемая среда разработки со встроенным отладчиком.156157> **См. также**158>159> **[Win32: как мне...?](https://python-all.ru/3.0/using/windows.html)**160>161> Тим Голден162>163> **[Python и COM](https://python-all.ru/3.0/using/windows.html)**164>165> Дэвид и Пол Бодди166167### Py2exe168169[Py2exe](https://python-all.ru/3.0/using/windows.html) – это расширение [`distutils`](https://python-all.ru/3.0/library/distutils.html#module-distutils) (см. [*Extending Distutils*](https://python-all.ru/3.0/distutils/extending.html#extending-distutils)), которое упаковывает скрипты Python в исполняемые программы Windows (файлы `*.exe`). После этого можно распространять приложение без необходимости устанавливать Python пользователям.170171### WConio172173Поскольку расширенный уровень управления терминалом Python, [`curses`](https://python-all.ru/3.0/library/curses.html#module-curses), ограничен системами, подобными Unix, существует также библиотека, эксклюзивная для Windows: Windows Console I/O для Python.174175[WConio](https://python-all.ru/3.0/using/windows.html) – это обёртка для `CONIO.H` из Turbo-C, используемая для создания текстовых пользовательских интерфейсов.176177## Компиляция Python в Windows178179Если вы хотите скомпилировать CPython самостоятельно, первым делом нужно получить [исходный код](https://python-all.ru/3.0/using/windows.html). Можно загрузить исходный код последнего релиза или просто взять свежую [копию из репозитория](https://python-all.ru/3.0/using/windows.html).180181Для Microsoft Visual C++, компилятора, которым собираются официальные выпуски Python, в дереве исходных кодов содержатся файлы решений/проектов. Смотрите `readme.txt` в соответствующих каталогах:182183| Каталог | Версия MSVC | Версия Visual Studio |184| --- | --- | --- |185| `PC/VC6/` | 6.0 | 97 |186| `PC/VS7.1/` | 7.1 | 2003 |187| `PC/VS8.0/` | 8.0 | 2005 |188| `PCbuild/` | 9.0 | 2008 |189190Обратите внимание, что не все эти каталоги сборки полностью поддерживаются. Прочитайте примечания к выпуску, чтобы узнать, с какой версией компилятора собраны официальные выпуски для вашей версии.191192Общую информацию о процессе сборки можно найти в `PC/readme.txt`.193194Для модулей-расширений обратитесь к [*Сборка расширений C и C++ в Windows*](https://python-all.ru/3.0/extending/windows.html#building-on-windows).195196> **См. также**197>198> **[Python + Windows + distutils + SWIG + gcc MinGW](https://python-all.ru/3.0/using/windows.html)**199>200> или «Создание расширений Python на C/C++ с помощью SWIG и компиляция с MinGW gcc под Windows» или «Установка расширения Python с помощью distutils и без Microsoft Visual C++» от Sébastien Sauvage, 2003201>202> **[MingW – расширения Python](https://python-all.ru/3.0/using/windows.html)**203>204> Трент Аптед и др., 2007205206## Другие ресурсы207208> **См. также**209>210> **[Программирование на Python в Win32](https://python-all.ru/3.0/using/windows.html)**211>212> «Help for Windows Programmers» Марк Хаммонд и Энди Робинсон, O’Reilly Media, 2000, ISBN 1-56592-621-8213>214> **[Руководство по Python для Windows](https://python-all.ru/3.0/using/windows.html)**215>216> Аманда Бирмингем, 2004217