Часто задаваемые вопросы об использовании Python в Windows

Проблемы с установкой пакета с помощью pip install

Есть ряд причин, по которым установка может завершиться сбоем. Во многих случаях правильным будет обратиться к разработчику пакета.

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

Некоторые пакеты содержат машинный код, для установки которого требуется компилятор C или C++. Как правило, разработчики пакетов должны публиковать предварительно скомпилированные версии, но зачастую они этого не делают. Некоторые из этих пакетов могут работать, если установить средства сборки для Visual Studio и выбрать вариант C++, но в большинстве случаев необходимо обратиться к разработчику пакета.

Присоединяйтесь к дискуссии на сайте StackOverflow.

Проблемы с установкой pip с WSL

При установке пакета (например, Flask) с использованием pip в подсистеме Windows для Linux (WSL или WSL2), например python3 -m pip install flask, может поступить примерно такое сообщение об ошибке:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection
object at 0x7f655471da30>: Failed to establish a new connection: [Errno -3]
Temporary failure in name resolution')': /simple/flask/

При исследовании этой проблемы вы можете пойти несколькими путями, ни один из которых не работает с дистрибутивом WSL Linux достаточно продуктивно (предупреждение: в WSL не изменяйте файл resolv.conf, так как он является символьной ссылкой, при изменении которой может возникнуть уязвимость для червей). Если вы не используете неоригинальный брандмауэр, возможное решение — переустановить pip:

sudo apt -y purge python3-pip
sudo python3 -m pip uninstall pip
sudo apt -y install python3-pip --fix-missing

*Дальнейшее обсуждение в репозитории продуктов WSL на GitHub. Благодаря нашему сообществу пользователей за участие в этой проблеме в документации.

Что такое py.exe?

На компьютере может быть установлено несколько версий Python, потому что вы работаете с различными типами проектов Python. Так как все версии применяют команду python, может быть неясно, какая версия Python используется. В качестве стандарта рекомендуется использовать команду python3 (или python3.7), чтобы выбрать конкретную версию.

Средство запуска py.exe автоматически выберет последнюю установленную версию Python. Вы также можете выполнить такие команды, как py -3.7, чтобы выбрать конкретную версию, или py --list, чтобы узнать, какие версии можно использовать. Но средство запуска py.exe будет действовать только в том случае, если используется версия Python, загруженная с веб-сайта python.org. Если Python установлен из магазина Microsoft Store, то py команда не поддерживается. Для версий Python для Linux, macOS, WSL и Microsoft Store следует использовать команду python3 (или python3.7).

Почему при запуске python.exe открывается Microsoft Store?

Чтобы помочь новым пользователям найти хорошую установку Python, мы добавили ярлык для Windows, который сразу же переведет вас к последней версии пакета сообщества, опубликованного в Microsoft Store. Этот пакет можно легко установить без прав администратора, и он заменит команды по умолчанию python и python3 на реальные.

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

Если вы устанавливаете Python с помощью установщиков с сайта python.org и выбираете параметр "Добавить в PATH", новая команда python будет иметь приоритет над ярлыком. Обратите внимание, что другие установщики могут добавлять python с более низким приоритетом, чем при использовании встроенного ярлыка.

Вы можете отключить ярлыки, не устанавливая Python. Для этого откройте в меню "Пуск" раздел Manage app execution aliases (Управление псевдонимами выполнения приложений), найдите записи "Установщик приложений" для Python и переключите их в режим "Отключено".

Почему пути к файлам не работают в Python, когда я копирую и вставляю их?

В строках Python для специальных символов используются escape-знаки. Например, чтобы вставить символ новой строки в строку, введите \n. Так как пути к файлам в Windows используют символы обратной косой черты, некоторые части могут быть преобразованы в специальные символы.

Чтобы вставить путь в виде строки в Python, добавьте префикс r. Это означает, что это строка raw, и escape-символы не будут использоваться, за исключением "\" (вам может потребоваться удалить последний символ обратной косой черты в пути). Так что ваш путь может выглядеть следующим образом: r"C:\Users\MyName\Documents\Document.txt".

При работе с путями в Python рекомендуется использовать стандартный модуль pathlib. Это позволит вам преобразовать строку в расширенный объект Path, который может последовательно выполнять манипуляции с путями, независимо от того, использует ли он символ косой или обратной косой черты, что улучшает выполнение вашего кода в разных операционных системах.

Что такое PYTHONPATH?

Переменная среды PYTHONPATH используется в Python для указания списка каталогов, из которых можно импортировать модули. При запуске можно проверить переменную sys.path, чтобы узнать, по каким каталогам будет выполняться поиск при импорте чего-либо.

Чтобы задать эту переменную из командной строки, используйте: set PYTHONPATH=list;of;paths.

Чтобы задать эту переменную из PowerShell, используйте $env:PYTHONPATH=’list;of;paths’ непосредственно перед запуском Python.

Глобальная установка этой переменной через параметры Переменные средыне рекомендуется, так как она может использоваться любой версией Python вместо нужной.

Где можно найти справку по упаковке и развертыванию?

Docker: расширение VSCode помогает быстро упаковывать и развертывать с помощью шаблонов Dockerfile и docker-compose.yml (создайте правильные файлы Docker для проекта).

Служба Azure Kubernetes (AKS) позволяет развертывать контейнерные приложения и управлять ими при масштабировании ресурсов по требованию.

Что делать, если мне нужно работать на разных компьютерах?

Синхронизация параметров позволяет синхронизировать параметры VS Code в разных установках с помощью GitHub. Если вы работаете на разных компьютерах, это обеспечит согласованность среды между ними.

Что делать, если я использую PyCharm, Atom, Sublime Text, Emacs или Vim?

Расширение VS Code Keymaps может содействовать эффективной работе вашей среды.

Насколько сочетания клавиш в Mac соответствуют сочетаниям клавиш в Windows?

Некоторые кнопки клавиатуры и системные сочетания клавиш в компьютерах Windows и Macintosh несколько отличаются друг от друга. В этом руководстве по переходу с Mac на Windows рассматриваются основные сведения.