Гид по технологиям

Как создать виртуальное окружение Python в Ubuntu

5 min read Разработка Python Обновлено 17 Apr 2026
Создать виртуальное окружение Python в Ubuntu
Создать виртуальное окружение Python в Ubuntu

Бежевая королевская питон на коричневой ветке дерева

Python остаётся одним из самых популярных и универсальных языков. На Linux, Windows и macOS он питает десятки тысяч приложений. Начиная с Ubuntu 23.04 поведение системных пакетов изменилось: прямой вызов pip install может быть заблокирован политикой управления пакетами. Поэтому лучше работать через виртуальные окружения.

Почему виртуальные окружения Python важны на Ubuntu

Ошибка pip install в Ubuntu 23.04: сообщение о 'externally-managed-environment'

Раньше на Linux достаточно было установить Pip и выполнить:

pip install some_app

Pip скачивал пакет с PyPI, разрешал зависимости и устанавливал всё в глобальное окружение пользователя или системы. Но конфликты зависимостей и пересечения с пакетами APT создавали проблемы. Начиная с Ubuntu 23.04 вызов pip install из глобального окружения часто приводит к ошибке «externally-managed-environment», и система предлагает установить пакет через APT — что зачастую невозможно для многих Python-приложений.

Виртуальное окружение решает эти проблемы: оно изолирует Python, Pip и зависимости в отдельной директории. Каждому проекту можно дать своё окружение, чтобы разные версии библиотек не мешали друг другу и системе.

Как создать виртуальное окружение Python в Ubuntu

Установка python3-venv в терминале Ubuntu

  1. Установите пакет для создания окружений:
sudo apt install python3-venv
  1. Создайте окружение в домашней директории (пример):
python3 -m venv ~/cool_python_apps

Эта команда создаст папку ‘cool_python_apps’ в домашней директории. Внутри будет структура каталогов с исполняемыми файлами Python и Pip в подпапке ‘bin’.

  1. Установить приложение можно, вызвав Pip из этого окружения напрямую. Например, установить терминальное приложение Castero:
~/cool_python_apps/bin/pip3 install castero

Установленный бинарный файл также окажется в подпапке ‘bin’ окружения и доступен по полному пути.

Вернуть старое поведение Pip на Ubuntu

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

python3 -m venv ~/cool_python_apps

Добавьте алиас для pip3:

echo 'alias pip3=~/cool_python_apps/bin/pip3' >> .bashrc
source .bashrc

Обновите PATH, чтобы директория ‘bin’ окружения была в начале:

export PATH=~/cool_python_apps/bin:$PATH

После этого вы сможете выполнять:

pip3 install package_name

При необходимости повторите аналогично для pip, pip3.11 и других бинари.

Когда виртуальные окружения не подходят

  • Если вы разворачиваете системный пакет, который должен управляться через APT или если вам нужен интегрированный системный сервис — лучше использовать APT/snap/flatpak.
  • В окружениях с ограниченными правами (CI/CD агенты с особенностями) может потребоваться контейнеризация (Docker).
  • Если проект использует глобально установленные расширения, простое виртуальное окружение может не подойти.

Альтернативные методы установки и их плюсы/минусы

  • APT: хорошо для системных, стабильных пакетов; пакеты могут быть устаревшими.
  • snap/flatpak: изолированная упаковка приложений; удобна для десктопных приложений, но не всегда для CLI-утилит.
  • pipx: устанавливает и запускает приложения Python в отдельном окружении и делает их доступными в системе; отличен для CLI-приложений.
  • Conda: окружения и менеджмент зависимостей для научных стэков; тяжелее для простых задач.
  • Docker: полная изоляция окружения и системы; хорош для продакшена и CI.

Краткая методика: шаги одной строкой

  • Установите python3-venv.
  • Создайте окружение: python3 -m venv ~/myenv.
  • Активируйте при необходимости: source ~/myenv/bin/activate.
  • Установите пакеты: pip install package.

Шпаргалка команд

# Установить модуль создания venv
sudo apt install python3-venv

# Создать venv
python3 -m venv ~/myenv

# Активировать venv (bash/zsh)
source ~/myenv/bin/activate

# Установить пакет внутри venv
pip install package_name

# Выйти из venv
deactivate

# Быстрая установка CLI-пакета без активации
~/myenv/bin/pip3 install some-cli

Чек-листы по ролям

Разработчик:

  • Установить python3-venv.
  • Создать окружение на уровне проекта.
  • Добавить requirements.txt и virtualenv в .gitignore.

Системный администратор:

  • Не изменять системные пути Python.
  • Использовать APT/snap/flatpak для системно-важных приложений.
  • Рассмотреть Docker для изоляции сервисов.

Начинающий пользователь:

  • Создайте одно окружение для экспериментов.
  • Освойте команды activate/deactivate.
  • Используйте pipx для отдельных CLI-утилит.

Советы по совместимости и миграции

  • Пакет называется python3-venv в Ubuntu; в других дистрибутивах имя может отличаться.
  • Если проект требует конкретной версии Python, установите соответствующую версию (например, python3.11) через APT или pyenv, затем создавайте venv на её основе.
  • Для инфраструктурных деплоев используйте контейнеры или инструменты управления зависимостями (poetry, pipenv, conda).

Упрощённая таблица выбора

СценарийЛучший выбор
CLI-приложение для одного пользователяvenv или pipx
Системный сервисAPT / system package
Научные библиотеки с бинарными зависимостямиConda
Изоляция для деплоя/CIDocker

Ментальные модели и ориентиры

  • Разделяй и властвуй: одно окружение — один проект. Так вы минимизируете конфликты зависимостей.
  • Система управляет системными пакетами, вы — своими проектными зависимостями.
  • Если нужна повторяемость и переносимость — упакуйте окружение в контейнер или опишите зависимости (requirements.txt, pyproject.toml).

Критерии приёмки

  • pip внутри окружения устанавливает пакет без ошибок.
  • Установленные зависимости не влияют на системный Python.
  • Для CLI-приложений исполняемые файлы доступны из ‘bin’ окружения или через PATH.

Mermaid: выбор способа установки

graph LR
  A[Нужно установить приложение] --> B{CLI или сервис?}
  B -->|CLI лично| C[venv или pipx]
  B -->|Системный сервис| D[APT / system package]
  B -->|Научный стек| E[Conda]
  B -->|Деплой/CI| F[Docker]

Важные замечания

Важно: не удаляйте системные пакеты Python через apt без понимания последствий — это может поломать компоненты системы. Используйте виртуальные окружения или контейнеры, когда нужно изолировать зависимости.

Примечание: pipx — отличный выбор, если вы хотите быстро установить и запускать отдельные CLI-инструменты, не создавая вручную окружение для каждого.

Краткое резюме

Виртуальные окружения — это простой и надёжный способ установить и изолировать Python-пакеты на Ubuntu, особенно после изменений в политике управления пакетами в версиях начиная с 23.04. Установите python3-venv, создайте окружение для проекта и используйте Pip внутри него. Для системных задач и деплоя рассмотрите альтернативы: APT, snap, pipx, conda или Docker.

Источник изображений: файлы в статье.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро