Серверы
  • Готовые серверы
  • Конфигуратор
  • Серверы с 1CPU
  • Серверы с 2CPU
  • 4 поколение AMD EPYC и Intel Xeоn
  • Серверы с AMD Ryzen и Intel Core i9
  • Серверы для хранения данных
  • Cерверы с портом 10 Гбит/c
  • GPU
  • Распродажа
  • VPS
    GPU
  • Выделенные серверы с GPU
  • Виртуальные серверы с GPU
  • Распродажа
    Маркетплейс
    Colocation
  • Размещение серверов в дата-центре в Москве
  • Обслуживание серверов в других ЦОД
  • Прокат
    Услуги
  • Аренда сетевого оборудования
  • Защита L3-L4 от DDoS атак
  • IPV4 и IPV6 адреса
  • Администрирование серверов
  • Уровни технической поддержки
  • Мониторинг сервера
  • BYOIP
  • USB диск
  • IP-KVM
  • Трафик
  • Коммутация серверов
  • AI-чат-бот Lite
  • О нас
  • Работа в HOSTKEY
  • Панель управления серверами и API
  • Дата-центры
  • Сеть
  • Тест скорости
  • Специальные предложения
  • Отдел продаж
  • Для реселлеров
  • Гранты для специалистов по Data Science
  • Гранты для научных проектов и стартапов
  • Документация и Частые вопросы
  • Новости
  • Блог
  • Оплата
  • Документы
  • Сообщите о нарушении
  • Looking Glass
  • 20.12.2024

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

    server one
    HOSTKEY

    1. Что такое виртуальное окружение?

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

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

    Это особенно важно при работе с проектами, использующими разные версии библиотек. Без виртуальных окружений вы рискуете столкнуться с конфликтами версий и неожиданными ошибками. Например, проект A может требовать Flask 2, а проект B — Flask 3. Виртуальные окружения позволяют установить разные версии библиотек для каждого проекта, обеспечивая независимость и стабильность работы.

    2. Где и как виртуальное окружение сохраняет зависимости?

    При создании виртуального окружения оно создает отдельную папку (по умолчанию venv), где хранятся все установленные пакеты и конфигурации. Обычно оно создается в домашней директории пользователя, так как не рекомендуется создавать и работать в виртуальных окружениях от root.

    Путь Содержимое
    venv/bin Содержит исполняемые файлы Python, pip и другие инструменты для работы с виртуальным окружением.
    venv/lib Хранит библиотеки Python и модули, установленные в окружении.
    venv/env Путь до конфигураций виртуального окружения: версии Python, установленных пакетов и других настроек.

    3. Сравнение с глобальными установками пакетов

    Можно возразить, что проще поставить пакеты непосредственно в операционную систему и не мучаться с виртуальными окружениями. На первый взгляд это так, но глобальная установка пакетов из репозиториев имеет свои существенные недостатки:

    • Конфликты версий.

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

    • Загрязнение системы.

      Глобальная установка всех библиотек занимает много места и может замедлить работу системы. Все пакеты устанавливаются в общую директорию, что может привести к накоплению ненужных файлов.

    Виртуальные окружения решают эти проблемы, так как предоставляют:

    • Изоляцию проектов.

      Каждое виртуальное окружение имеет свою копию зависимостей, что предотвращает конфликты версий. Проект A может использовать версию 2.0 библиотеки numpy, а проект B — версию 2.2 без возникновения конфликтов.

    • Оптимизацию ресурсов.

      Только необходимые библиотеки устанавливаются в конкретное виртуальное окружение, экономя место и ресурсы системы. Не нужно скачивать и хранить все пакеты на компьютере, что ускоряет работу системы и освобождает место на диске.

    • Упрощение работы с пакетами.

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

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

    • Повышенную безопасность.

      Виртуальные окружения изолируют проекты друг от друга, что снижает риск заражения системы вредоносным ПО.

    • Упрощение процесса деплоя.

    При развертывании проекта на сервере можно легко скопировать директорию с виртуальным окружением и быть уверенным, что все необходимые зависимости будут доступны после его активации на новой машине. Если вы посмотрите на крупные Python-проекты, то зачастую они как раз распространяются в виде виртуальных окружений (или создают их при развертывании).

    4. Как создать виртуальное окружение?

    Создание виртуального окружения в Ubuntu

    Для начала нужно проверить, какая версия Python установлена в системе:

    Python3-version

    В Ubuntu 22.04 по умолчанию установлен Python 3.10.

    Затем нужно установить пакет для поддержки виртуального окружения:

    sudo apt install python3-venv

    После можно создать виртуальное окружение командой:

    python3 -m venv my_project_env

    Замените my_project_env на желаемое имя вашего виртуального окружения.

    Создание виртуального окружение в Windows

    Откройте командную строку. Для этого нажмите Win+R, введите cmd и нажмите Enter.

    Используя команду cd перейдите в директорию вашего проекта:

    cd C:\Users\YourUserName\Documents\MyProject

    Создайте виртуальное окружение с именем my_project_env.

    python -m venv my_project_env

    5. Активация окружения

    После создания виртуальное окружение нужно активировать:

    1. Linux/macOS:

      source my_project_env/bin/activate
    2. Windows:

      my_project_env\Scripts\activate

    В активном окружении имя вашего виртуального окружения будет отображаться в начале командной строки.

    При активации виртуального окружения в Python могут возникнуть следующие проблемы:

    • Неправильный путь к исполняемому файлу.
    • Если вы не укажете правильный путь к исполняемому файлу Python при активации виртуального окружения (например source venv/bin/activate), система может не распознать его и выдаст ошибку.
    • Недостающие права доступа.
    • Если у вас недостаточно прав на запись в каталог, где создано виртуальное окружение, вы не сможете активировать его.
    • Несовместимость Python-версий.
    • Активация виртуального окружения может привести к конфликту, если используемая версия Python в окружении не совместима с установленными версиями в системе.
    • Проблемы с конфигурацией.
    • Если у вас есть проблемы с конфигурацией виртуального окружения или файлами установщика (например pip), это может привести к ошибкам при активации виртуального окружения.
    • Неправильный путь к файлу активации.
    • Если вы активируете виртуальное окружение с неправильным путем к файлу активации (activate), система не сможет найти его и выдаст ошибку.
    • Неправильно установленные пакеты.

    Если пакеты были неправильно установлены в виртуальное окружение, это может привести к ошибкам при запуске проекта.

    6. Деактивация окружения

    Чтобы выйти из активного виртуального окружения, используйте команду deactivate. Приглашение командной строки вернет свой вид на прежний, как при логине под обычным пользователем.

    7. Как использовать другую версию Python в виртуальном окружении

    Как было описано ранее, вы можете установить виртуальные окружения для разных версий Python. Давайте создадим виртуальное окружение для Python 3.11.

    Установите Python 3.11 и пакеты поддержки виртуального окружения для этой версии

    sudo apt install python3.11
    sudo apt install python3.11-venv

    Создайте виртуальное окружение для этой версии Python

    python3.11 -m venv my_project_311env

    Активируйте виртуальное окружение:

    source my_project_311env/bin/activate

    Проверьте версию Python внутри виртуального окружения:

    python-version

    Затем выйдите из виртуального окружения командой deactivate и зайдите в окружение my_project_env. Проверьте там версию Python:

    Теперь у вас есть два разных виртуальных окружения с разными версиями Python.

    Другие статьи

    24.12.2024

    Как мы мониторинг SMART-данных дисков в оVirt экосистеме прикручивали

    Представьте, что на одной из множества ваших виртуальных машин, работающих на oVirt, начнет давать сбой диск в одном из узлов? Мы в Hostkey используем связку smartctl_exporter совместно с Prometheus и Grafana чтобы отследить этот момент и успеть принять меры и хотим поделиться с вами нашим опытом.

    20.12.2024

    В чем разница между IPv6 и IPv4?

    Чем отличаются IPv4 и IPv6? Зачем появился IPv6 и как он решает проблемы IPv4 и что это значит для пользователей.

    16.12.2024

    Как посмотреть запущенные контейнеры в Docker?

    Хотите узнать, какие контейнеры запущены в вашем Docker? В этой статье мы расскажем о простых командах, которые помогут это сделать.

    28.11.2024

    OpenWebUI обновился. Что нового привнесла версия 0.4.5?

    OpenWebUI обновился до версии 0.4.5! Новые функции для RAG, групп пользователей, аутентификации, улучшенная производительность и многое другое. Узнайте, как обновиться и использовать его возможности на максимум.

    18.11.2024

    Настройка Nginx на сервере

    Как правильно установить и настроить Nginx на сервере для повышения производительности вашего сайта. Пошаговая инструкция поможет вам настроить Nginx быстро и без ошибок.

    HOSTKEY Выделенные серверы в Европе, России и США Готовые решения и индивидуальные конфигурации серверов на базе процессоров AMD, Intel, карт GPU, Бесплатной защитой от DDoS-атак и безлимитный соединением на скорости 1 Гбит/с 30
    4.3 48 48
    Upload