Виртуальная среда Python представляет собой автономное дерево каталогов, которое включает в себя установку Python и дополнительные пакеты.
Основной целью виртуальных сред Python является создание изолированной среды для разных проектов Python. Таким образом, вы можете установить определенную версию модуля на основе каждого проекта, не опасаясь, что это повлияет на ваши другие проекты Python.
В этой статье мы предоставим пошаговые инструкции о том, как создавать виртуальные среды Python на Ubuntu 18.04.
Ubuntu 18.04 поставляется с Python 3.6 по умолчанию. Вы можете проверить, что Python 3 установлен в вашей системе, запустив:
python3 -V
Результат должен выглядеть следующим образом:
Python 3.6.5
Начиная с Python 3.6, рекомендуемым способом создания виртуальной среды является использование модуля venv
.
Начнем с установки пакета python3-venv
, который предоставляет модуль venv
.
sudo apt install python3-venv
После установки модуля мы готовы создавать виртуальные среды для Python 3.
Сначала перейдите в каталог, в котором вы хотите сохранить виртуальную среду Python 3. Внутри каталога выполните следующую команду для создания новой виртуальной среды:
python3 -m venv my-project-env
В приведенной выше команде создается каталог my-project-env
, который содержит копию двоичного файла Python, диспетчера пакетов Pip, стандартной библиотеки Python и других поддерживающих файлов.
Чтобы начать использовать эту виртуальную среду, вам нужно активировать ее, запустив скрипт activate
:
source my-project-env/bin/activate
После активации каталог bin виртуальной среды будет добавлен в начале переменной $PATH
. Также будет изменено приглашение вашей оболочки и отобразится имя виртуальной среды, которую вы сейчас используете. В нашем случае это my-project-env
:
$ source my-project-env/bin/activate (my-project-env) $
Теперь, когда виртуальная среда активирована, мы можем начать установку, обновление и удаление пакетов с помощью pip.
Давайте создадим простой скрипт Python, используя модуль Requests.
В виртуальной среде вы можете использовать команду pip
вместо pip3
и python
вместо нее python3
.
Первый шаг – установить модуль, используя диспетчер пакетов Python, pip:
(my-project-env) $ pip install requests
Чтобы проверить установку, попробуйте импортировать модуль:
(my-project-env) $ import requests
Если ошибок нет при импорте модуля, установка была успешной.
В нашем скрипте мы собираемся использовать сайт httpbin.org, который предоставляет простую службу HTTP Request & Response для печати всех записей заголовков.
Откройте текстовый редактор и создайте новый файл:
(my-project-env) $ nano testing.py
Вставьте в файл следующее содержимое:
import requests r = requests.get('http://httpbin.org/get') print(r.headers)
Закройте и сохраните файл.
Теперь мы можем запустить скрипт, набрав:
(my-project-env) $ python testing.py
Сценарий напечатает словарь всех записей заголовков, как показано ниже:
{'Connection': 'keep-alive', 'Server': 'gunicorn/19.9.0', 'Date': 'Tue, 18 Sep 2018 23:12:22 GMT', 'Content-Type': 'application/json', 'Content-Length': '266', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Credentials': 'true', 'Via': '1.1 vegur'}
Как только вы закончите свою работу по деактивации среды, просто введите deactivate
и вы вернетесь в свою обычную оболочку.
(my-project-env) $ deactivate
Вы научились создавать и использовать виртуальные среды Python. Вы можете повторить описанные выше шаги и создать дополнительные виртуальные среды для ваших проектов Python.
Если у вас возникли проблемы, не стесняйтесь оставлять комментарии.