Организация рабочего пространства Python в Windows через командную строку

Раздел: Администрирование -> Командная строка и пути

Настройка окружения Python в Windows: командная строка и переменные пути

Перед началом работы убедитесь, что у вас есть права администратора для изменения системных переменных.

Основной эффективный способ: ручная установка Python + venv

Как создать полностью изолированное окружение для проекта с минимальными усилиями?

  1. Скачайте установщик Python с python.org (например, python-3.12.4-amd64.exe).
  2. Запустите установку, обязательно отметьте галочку Add Python to PATH.
  3. После завершения откройте командную строку (cmd) и проверьте:
    python --version

    Python environment windows (настройка окружения python в windows)

    Python 3.12.4
  4. Создайте каталог для проекта и перейдите в него:
    mkdir my_project && cd my_project
  5. Создайте виртуальное окружение:
    python -m venv venv

    Появится папка venv с копией интерпретатора и pip.

  6. Активируйте окружение:
    venv\Scripts\activate

    В начале строки появится (venv).

  7. Установите нужные пакеты:
    pip install requests flask
  8. Зафиксируйте зависимости:
    pip freeze > requirements.txt
  9. Для выхода из окружения:
    deactivate

Типичные проблемы:

  • Ошибка «Python не является внутренней или внешней командой» - PATH не настроен. Можно добавить вручную через setx PATH "%PATH%;C:\Python312;C:\Python312\Scripts" (с правами администратора).
  • Активация не срабатывает в PowerShell - требуется разрешить выполнение скриптов: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser.
  • Длинные пути (256 символов) - ошибки при установке пакетов. Решение: создать окружение в коротком пути или включить поддержку длинных путей через реестр (Enable NTFS long paths).

Вариант 1: Использование Anaconda для научных проектов

Как создать окружение с готовыми библиотеками для анализа данных, не скачивая каждую вручную?

Установите Anaconda (Miniconda для минимального размера). После установки откройте терминал Anaconda Prompt.

conda create --name data_science python=3.10 pandas numpy matplotlib
conda activate data_science

Обновление пакетов: conda update --all. Экспорт окружения: conda env export > environment.yml.

Проблема: конфликт версий Python между conda и системным Python. Conda управляет собственными версиями, не трогая глобальные настройки PATH. Если требуется параллельная работа с обычным Python, используйте полные пути или измените очерёдность в PATH.

Вариант 2: Управление несколькими версиями Python с pyenv-win

Как переключаться между Python 3.9, 3.11, 3.12 без переустановки?

Установите pyenv-win через PowerShell (администратор):

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; & "./install-pyenv-win.ps1"

Добавьте переменные PATH вручную, если скрипт не справился: %USERPROFILE%\.pyenv\pyenv-win\bin и %USERPROFILE%\.pyenv\pyenv-win\shims. Затем:

pyenv install 3.11.4 3.10.11
pyenv global 3.11.4
python --version

Для конкретного проекта: pyenv local 3.10.11 (создаёт файл .python-version). Привязка к venv: сначала установить нужную версию через pyenv, затем создать виртуальное окружение как обычно.

Проблема: shims не подхватываются в cmd - проверьте порядок путей в системной переменной PATH. pyenv должен быть выше системного Python.

Вариант 3: Автоматизация зависимостей с Poetry

Как вести проект с чётким разделением зависимостей и автоматическим созданием окружения?

Установите Poetry через pipx (рекомендуется): pip install pipx && pipx install poetry. Добавьте путь %APPDATA%\Python\Scripts в PATH.

Создание нового проекта:

poetry new my_app && cd my_app
Это создаст папку с pyproject.toml.

Добавление зависимости:

poetry add requests
Poetry автоматически создаёт виртуальное окружение в %APPDATA%\pypoetry\virtualenvs. Активация: poetry shell или poetry run python script.py.

Проблема: Poetry не находит установленный Python - укажите путь в настройках: poetry env use C:\Python312\python.exe.

Вариант 4: Установка Python через Microsoft Store (без прав администратора)

Как быстро получить Python на машине без прав администратора?

Откройте Microsoft Store, найдите «Python 3.12» и установите. Путь к интерпретатору: %USERPROFILE%\AppData\Local\Microsoft\WindowsApps\python3.12.exe. Этот способ добавляет «псевдоним» python, который может запускать версию из Store. Важно: такие псевдонимы отключают штатную установку Python. Удалить псевдонимы можно в «Управление псевдонимами выполнения приложений» Windows.

Проблема: Команда python запускает не ту версию - проверьте порядок путей в PATH. Псевдонимы Store находятся раньше системных путей.

Вариант 5: Ручное добавление Python в системную переменную PATH

Как добавить Python в PATH после установки, не используя графический интерфейс?

Откройте командную строку от имени администратора. Выполните:

setx /M PATH "%PATH%;C:\Python312;C:\Python312\Scripts"

Замените C:\Python312 на фактический путь. После этого перезапустите cmd. Проверка: echo %PATH%.

Ошибки: setx обрезает PATH, если длина превышает 1024 символа. Используйте специализированные утилиты или PowerShell: [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Python312;C:\Python312\Scripts", [EnvironmentVariableTarget]::Machine).

Расширенные примеры настройки окружения Python в Windows

Создание виртуального окружения с конкретной версией Python (через pyenv)

Установите версию 3.10.11 через pyenv, затем создайте виртуальное окружение, указывая полный путь к интерпретатору:

Пример
pyenv install 3.10.11
mkdir my_project && cd my_project
pyenv local 3.10.11
%USERPROFILE%\.pyenv\pyenv-win\versions\3.10.11\python.exe -m venv .venv
.venv\Scripts\activate
python --version
Python 3.10.11

Использование pipenv для управления окружениями

Пример
pip install pipenv
cd my_project
pipenv --python 3.11
pipenv install flask
pipenv shell

Создаётся Pipfile и Pipfile.lock. Выход: exit. Удаление окружения: pipenv --rm.

Настройка PATH через PowerShell с обработкой длинных строк

Пример
$newPath = "C:\Python312;C:\Python312\Scripts"
$currentPath = [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine)
if ($currentPath -notlike "*$newPath*") {
    [Environment]::SetEnvironmentVariable("Path", "$currentPath;$newPath", [EnvironmentVariableTarget]::Machine)
}
(команда не выводит результат, но переменная обновляется)

Экспорт и импорт окружения venv в файл requirements.txt с указанием версий

Пример
pip freeze > requirements.txt
type requirements.txt
click==8.1.7
Flask==3.0.3
itsdangerous==2.2.0
Jinja2==3.1.4
MarkupSafe==2.1.5
Werkzeug==3.0.3
Пример
pip install -r requirements.txt

Использование Anaconda с созданием окружения из YAML-файла

Пример
conda env create -f environment.yml

Пример файла environment.yml:

Пример
name: data_proj
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.11
  - pandas>=2.0
  - scikit-learn
  - pip
  - pip:
    - mlflow
(окружение создаётся с указанными зависимостями)

Отключение автоматического создания виртуального окружения в Poetry

Пример
poetry config virtualenvs.create false
poetry install --no-root

Это удобно, если окружение уже создано вручную.

Включение поддержки длинных путей в Windows (требуется перезагрузка)

Пример
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
(свойство установлено, перезагрузите компьютер)

Проверка всех путей Python в PATH и их порядок

Пример
%SystemRoot%\System32\where.exe python
C:\Python312\python.exe
C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe

Если первая строка не та, что нужна, измените порядок в переменной PATH.

Настройка окружения Python в Windows - comments

En
Python environment windows (python)