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

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

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

Говоря простыми словами, виртуальная среда помогает правильно установить определенные версии пакетов, необходимых для проекта python.

Если у вас не установлен Python рекомендую прочитать статью Установка Python в Ubuntu

Обновление пакетов системы

Чтобы обновить Ubuntu 20.04 последними пакетами, выполните команду apt:

$ sudo apt update
$ sudo apt upgrade

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

Установка pip для python3

Перед установкой виртуальной среды, требуется установить pip. Pip – это менеджер пакетов, который помогает устанавливать, удалять и обновлять пакеты для ваших проектов.

Чтобы установить pip для python 3 используйте команду:

$ apt install python3-pip

Создание виртуальной среды для python 3

Команда Venv используется в Python для создания виртуальной среды. Пакет venv доступен в репозитории Ubuntu.

Чтобы установить пакет venv, требуется использовать следующую команду:

$ apt-get install python3-venv

Теперь, чтобы создать виртуальную среду, введите:

$ python3 -m venv my_env_project

Приведенная выше команда создает каталог с именем “my_env_project“, который содержит pip, интерпретатор, скрипты и библиотеки.

oltjano@ubuntu:~$ ls my_env_project/
bin include lib lib64 pyvenv.cfg share

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

$ source my_env_project/bin/activate

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

(my_env_project) oltjano@ubuntu:~$

Проверка виртуальной среды Python

Запустите команду “python” внутри виртуальной среды, чтобы открыть интерпретатор:

(my_env_project) oltjano@ubuntu:~$ python

Ответ терминала будет следующим:

Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.

Попробую установить пакет NumPy внутри виртуальной среды Python. Для этого воспользуюсь командой:

(my_env_project) oltjano@ubuntu: ~ $ pip install numpy –user

Если вы получите ошибку типа:

“ERROR: Can not perform a ‘–user’ install. User site-packages are not visible in this virtualenv.”

Вам требуется установить пакет include-system-site-packages и установить значение true в файле pyvenv.cfg.

Каждый раз, когда вы устанавливаете новый пакет в своей виртуальной среде, вы должны иметь возможность импортировать его в свой проект.

(my_env_project) oltjano@ubuntu:~/my_env_project$ python
>>> import numpy

Давайте протестируем математическую функцию:

>>> import math
>>> print(math.sqrt(16))

Чтобы выйти из интерпретатора, введите:

>>> quit()

Вы можете создать скрипт python и запустить его из виртуальной среды python 3.

(my_env_project) oltjano@ubuntu:~$ sudo vi script.py

Вы увидите следующий результат:

import math
print(math.sqrt(16))

Чтобы выполнить сценарий, введите:

(my_env_project) oltjano@ubuntu:~$ python script.py

Сценарий выполняется внутри виртуальной среды с именем my_env_project.

Удалить виртуальную среду Python

Для выхода из виртуальной среды используйте команду exit или сочетание клавиш Ctrl+d. Чтобы удалить виртуальную среду, выполните следующую команду:

(my_env_project) oltjano@ubuntu:~$ deactivate

Приведенная выше команда не удалит каталог my_env_project. Для удаления каталога потребуется использовать команду rm.

Заключение

Надеюсь что данная статья помогла вам узнать, как правильно создать виртуальную среду для ваших проектов Python 3 на Ubuntu 20.04.

Nazario

Я — Nazario, создатель и автор сайта guid.su, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем. Мои глубокие знания и обширный практический опыт в этих сферах позволяют мне создавать детальные руководства и учебные материалы, ценные для пользователей всех уровней.

Я стремлюсь делать сложные темы доступными и понятными, надеюсь что мой вклад в сообщество IT будет оценен по достоинству.

Моя работа направлена на образование и распространение знаний в области информационных технологий, помогая другим расширять свои возможности и углублять понимание современных технологий.

Guid: Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.