Как запустить виртуальное окружение Python: подробное пособие по активации

Раздел: Системное администрирование -> Установка и настройка

Активация виртуального окружения Python: основные подходы

Основное решение: встроенный модуль venv

Модуль venv входит в состав стандартной библиотеки Python, начиная с версии 3.3. Он позволяет создавать изолированные окружения, не требуя установки дополнительных пакетов. Для активации окружения необходимо сначала его создать, а затем выполнить соответствующую команду.

Создание окружения (пример для Linux/macOS):

python3 -m venv myenv

Python 2 windows (python 2 на windows)

Активация на Linux/macOS (оболочка Bash):

source myenv/bin/activate

Python 3 windows (python 3 на windows)

Активация на Windows (командная строка cmd.exe):

myenv\Scripts\activate.bat

Python 3.10 windows (python 3.10 на windows)

Активация на Windows (PowerShell):

myenv\Scripts\Activate.ps1

Python 3.11 windows (python 3.11 на windows)

После успешной активации в командной строке появляется префикс с именем окружения, например (myenv). Деактивация выполняется командой deactivate.

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

  • Ошибка выполнения скриптов в PowerShell (политика выполнения). Решение: запустить PowerShell от имени администратора и выполнить
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

    Python 3.12 windows (python 3.12 на windows)

    или использовать
    myenv\Scripts\python.exe

    Python 3.8 windows (python 3.8 на windows)

    без активации.
  • Команда 'python' не найдена. Убедиться, что Python установлен и добавлен в PATH. Проверить:
    python --version

    Python windows 64 (python 64-bit на windows)

    .

Вопрос: Как активировать виртуальное окружение на Windows через PowerShell?

Если PowerShell блокирует выполнение сценариев, можно временно изменить политику выполнения для текущей сессии:

powershell.exe -ExecutionPolicy Bypass -File myenv\Scripts\Activate.ps1

Python для windows 10 (python для windows 10)

Или запустить прямо без активации, указав полный путь к интерпретатору: myenv\Scripts\python.exe.

Ошибка: 'Activate.ps1' не удается загрузить, так как выполнение сценариев отключено. Решение описано выше.

Вопрос: Как активировать окружение, созданное с помощью virtualenv?

Инструмент virtualenv работает аналогично venv, но может использоваться с Python 2 и более старыми версиями. Установка:

pip install virtualenv

Python window (python на windows)

. Создание:
virtualenv myenv

Python windows 11 (python на windows 11)

. Активация - те же команды, что и для venv.

Ошибка: 'virtualenv' не является внутренней или внешней командой. Убедиться, что Pip установлен и пути к исполняемым файлам корректны.

Вопрос: Как использовать pipenv для управления окружением и его активации?

pipenv объединяет управление зависимостями и виртуальными окружениями. Установка:

pip install pipenv

Python windows 7 (python на windows 7)

. Создание и активация одновременно:
pipenv shell

Python windows 8 (python на windows 8)

. Выход:
exit

Python not found windows (python не найден в windows)

.

Проблема: Команда pipenv shell может не найти подходящее окружение, если Pipfile отсутствует. Решение: сначала выполнить

pipenv install

как активировать среду python (активация среды python)

для создания Pipfile.

Вопрос: Как активировать окружение Conda?

Conda - менеджер пакетов и окружений, популярный в научных вычислениях. Создание:

conda create --name myenv

Openpyxl python install (установка openpyxl через pip)

. Активация:
conda activate myenv
. Деактивация:
conda deactivate
.

Ошибка: 'conda' не распознается как команда. Необходимо установить Anaconda или Miniconda и добавить пути в переменную окружения PATH.

Вопрос: Как активировать окружение в Linux/macOS без модификации shell?

Можно временно выполнить команду активации в подоболочке:

(source myenv/bin/activate; python main.py)
. После выполнения дочерней оболочки основная среда не изменяется.

Особенность: такой способ полезен для автоматизации, но не позволяет получить интерактивную сессию с активацией.

Расширенные примеры использования активации виртуального окружения Python

Пример 1: Активация в различных оболочках и последствия

Рассмотрим создание окружения с именем dev и его активацию в трёх оболочках на Windows.

Пример
# Создание окружения (один раз)
C:\Users\user> python -m venv dev
Пример
# Командная строка cmd.exe
C:\Users\user> dev\Scripts\activate.bat
(dev) C:\Users\user> where python
C:\Users\user\dev\Scripts\python.exe
(dev) C:\Users\user> deactivate
C:\Users\user>
Пример
# PowerShell (с изменением политики выполнения)
PS C:\Users\user> Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
PS C:\Users\user> .\dev\Scripts\Activate.ps1
(dev) PS C:\Users\user> Get-Command python.exe | Select-Object Source
Source
-----
C:\Users\user\dev\Scripts\python.exe
(dev) PS C:\Users\user> deactivate.exe
PS C:\Users\user>
Пример
# Git Bash (MSYS2)
$ source dev/Scripts/activate
(dev) $ which python
/c/Users/user/dev/Scripts/python
(dev) $ deactivate
$

Вывод: активация изменяет путь к интерпретатору, позволяя использовать пакеты только из этого окружения.

Пример 2: Автоматическая активация окружения при входе в директорию

С помощью инструмента direnv (Linux/macOS) можно настроить автоматическую активацию.

Пример
# Установка direnv (пример для Ubuntu)
$ sudo apt install direnv
# Добавить в ~/.bashrc: eval "$(direnv hook bash)"

# Создание файла .envrc в корне проекта
$ echo "source dev/bin/activate" > .envrc
$ direnv allow .
direnv: loading ~/project/.envrc
(dev) $

При входе в директорию окружение активируется автоматически, при выходе - деактивируется.

Пример 3: Активация окружения в скрипте Python с проверкой

Иногда требуется программно активировать окружение внутри другого Python-скрипта (например, для запуска подпроцесса).

Пример
import subprocess
import sys

# Путь к активации
activate_script = "./dev/bin/activate"

# Запуск команды в активированном окружении
cmd = "python -c 'import sys; print(sys.executable)'"
process = subprocess.run(
    ["bash", "-c", f"source {activate_script} && {cmd}"],
    capture_output=True, text=True
)
print("Результат:", process.stdout)
# Вывод: /home/user/dev/bin/python
Результат:
/home/user/dev/bin/python

Пример 4: Использование poetry для управления окружением без явной активации

Poetry автоматически создаёт и использует виртуальное окружение. Команда poetry run выполняет команду внутри окружения без активации.

Пример
# Установка poetry
$ curl -sSL https://install.python-poetry.org | python3 -

# Создание проекта
$ poetry new myproject
$ cd myproject

# Добавление зависимости
$ poetry add requests

# Запуск скрипта
$ poetry run python -c "import requests; print(requests.__version__)"
2.31.0

Активация вручную: poetry shell.

Пример 5: Исправление ошибки 'No module named pip' в окружении

Иногда pip не устанавливается в окружение venv. Тогда его можно установить вручную.

Пример
# Создание окружения без pip (добавить флаг --without-pip)
$ python -m venv myenv --without-pip
$ source myenv/bin/activate

# Установка pip внутри окружения
$ python -m ensurepip --upgrade

# Проверка
$ pip list
Package    Version
---------- -------
pip        24.0
Package    Version
---------- -------
pip        24.0

Пример 6: Активация окружения Conda из скрипта bash

Пример
#!/bin/bash
# Файл: run_in_env.sh
source $(conda info --base)/etc/profile.d/conda.sh
conda activate myenv
python script.py
conda deactivate

Выполнение: bash run_in_env.sh. Результат: скрипт выполняется внутри окружения myenv.

Активация среды Python - comments

En
как активировать среду python (python)