- Как создать виртуальную среду Python 3 на Ubuntu 20.04
- Обновление пакетов системы
- Установка pip для python3
- Создание виртуальной среды для python 3
- Проверка виртуальной среды Python
- Удалить виртуальную среду Python
- Заключение
- Русская Исследовательская IT-Лаборатория
- Веб-разработка, анализ данных и электронная инженерия
- Создание виртуального окружения для python3 на Ubuntu
- Виртуальное окружение Python (venv)
- Настройка виртуального окружения
- Создание
- Активация
- Автоматическая активация
- Деактивация
- Альтернативы venv
- Виртуальное окружение в Python
- Введение
- Создание директории для проекта
- Создание виртуального окружения
- Активация виртуальной среды
- Активация виртуальной среды в Windows
- Активация виртуальной среды в macOS и Linux
- Заключение
Как создать виртуальную среду Python 3 на Ubuntu 20.04
Виртуальная среда Python используется для создания изолированной среды для проекта Python. Эта среда содержит интерпретатор, библиотеки и сценарии проекта. Вы можете создать любое количество виртуальных сред для своих проектов, каждая из которых имеет свои собственные зависимости.
С помощью виртуальной среды Python можно избежать глобальную установку пакетов, которая может нарушить работу других проектов.
Говоря простыми словами, виртуальная среда помогает правильно установить определенные версии пакетов, необходимых для проекта python.
Если у вас не установлен Python рекомендую прочитать статью Установка Python в Ubuntu
Обновление пакетов системы
Чтобы обновить Ubuntu 20.04 последними пакетами, выполните команду apt:
$ sudo apt update
$ sudo apt upgrade
Установка pip для python3
Перед установкой виртуальной среды, требуется установить pip. Pip — это менеджер пакетов, который помогает устанавливать, удалять и обновлять пакеты для ваших проектов.
Чтобы установить pip для python 3 используйте команду:
Создание виртуальной среды для python 3
Команда Venv используется в Python для создания виртуальной среды. Пакет venv доступен в репозитории Ubuntu.
Чтобы установить пакет venv, требуется использовать следующую команду:
Теперь, чтобы создать виртуальную среду, введите:
Приведенная выше команда создает каталог с именем «my_env_project«, который содержит pip, интерпретатор, скрипты и библиотеки.
$ ls my_env_project/
bin include lib lib64 pyvenv.cfg share
Теперь вы можете активировать виртуальную среду, введя команду:
Командная строка изменится на вашу среду и будет выглядеть так, как показано ниже:
Проверка виртуальной среды Python
Запустите команду «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. Для этого воспользуюсь командой:
$ 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$ python
>>> import numpy
Давайте протестируем математическую функцию:
Чтобы выйти из интерпретатора, введите:
Вы можете создать скрипт python и запустить его из виртуальной среды python 3.
Вы увидите следующий результат:
Чтобы выполнить сценарий, введите:
Сценарий выполняется внутри виртуальной среды с именем my_env_project.
Удалить виртуальную среду Python
Для выхода из виртуальной среды используйте команду exit или сочетание клавиш Ctrl+d. Чтобы удалить виртуальную среду, выполните следующую команду:
Приведенная выше команда не удалит каталог my_env_project. Для удаления каталога потребуется использовать команду rm.
Заключение
Надеюсь что данная статья помогла вам узнать, как правильно создать виртуальную среду для ваших проектов Python 3 на Ubuntu 20.04.
Источник
Русская Исследовательская IT-Лаборатория
Веб-разработка, анализ данных и электронная инженерия
Создание виртуального окружения для python3 на Ubuntu
Традиционно для создания виртуального окружения для Python используется модуль virtualenv. Но, начиная с версии Python 3.3, появилась возможность создания «легкого» виртуального окружения с помощью встроенного модуля pyvenv.
1. Для начала можно проверить переменную $PATH, которая указывает, какие пути прописаны для запуска из командной оболочки:
Согласно данной информации python установлен как в пакете Anaconda (/home/pavel/installed/anaconda3/bin), так и в системном варианте (/usr/bin).
По умолчанию (если просто набрать python ) запускается python3 из пакета Anaconda, а если я хочу получить доступ к системному python, нужно набрать: /usr/bin/python3 .
Если у вас не установлены никакие дополнительные пакеты, то для вызова системного python3 достаточно набрать в командной строке: python3 .
2. Если не установлена поддержка виртуального окружения, то есть система выдает при попытках создания (см. п.3) следующее сообщение:
The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
Тогда нужно установить:
3. Далее переходим в выбранную папку, и создаем в ней поддержку виртуального окружения:
В результате в директории work/python будет создана папка myvenv с необходимым содержимым для поддержки виртуального окружения.
4. Активировать виртуальное окружение можно командой (из папки, где оно создано):
В результате в bash в начале командной строки появиться надпись (myvenv).
5. Для деактивации используется команда:
6. Можно убедится, что pip и python работают в контейнере:
7. Если виртуальное окружение создавалась для работы с Django, то далее нужно выполнить следующие команды:
При подготовке статьи использовались следующие источники:
Любые замечания, пожелания и дополнения к статье пишите в комментариях.
Дополнительная информация (добавлена 21-03-2017).
Виртуальное окружение можно создавать и используя установленную Anaconda с помощью менеджера пакетов Conda. При этом есть возможность гибко выбирать, какую версию python нужно использовать.
Все доступные версии python можно проверить командой:
Чтобы создать виртуальное окружение с именем venv и самым последним python из 3-й ветки, достаточно выполнить:
Файлы окружения будут располагаться в папке envs внутри директории с Anaconda.
Активация и деактивация виртуального окружения производится с помощью следующих команд:
Посмотреть все имеющиеся виртуальные окружения, созданные с помощью Conda можно командой:
Если Anaconda не прописана в системном пути $PATH, то для запуска созданного Conda виртуального окружения может потребоваться набирать длинную команду, например:
Это, конечно, неудобно. Кроме того, если запуск виртуального окружения нужен для работы с Jupyter Notebook, то проще сделать небольшой файлик со скриптом на bash в рабочей директории.
Первая строчка создает файл. Вторая — присваивает ему атрибут «исполняемый». Третья — запускает редактор для внесения правок в файл. В редакторе добавляем и сохраняем следующий код:
Из консоли такой файл запускается командой bash begin.sh или ./begin.sh . Можно его запускать двойным кликом левой клавишей мышки и из файлового менеджера Nautilus. Если этого не происходит, нужно перейти в раздел «Параметры» — «Поведение» и поставить галочку «Каждый раз спрашивать» в разделе «Исполняемые текстовые файлы».
Добавлено 29-03-2017:
Для дополнительного чтения и понимания сути виртуального окружения есть хорошая статья (и комментарии) — https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/. В ней дается вводная информация и базовые сведения по работе с pip и virtualenv.
Для удобства организации виртуальных окружений и быстрой работы с ними есть надстройка virtualenvwrapper.
Источник
Виртуальное окружение Python (venv)
В се сторонние пакеты устанавливаются менеджером PIP глобально. Проверить это можно просто командой pip show
# pip3 show pytest Name: pytest Version: 5.3.2 Summary: pytest: simple powerful testing with Python Home-page: https://docs.pytest.org/en/latest/ Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, . License: MIT license Location: /usr/local/lib/python3.8/site-packages Requires: more-itertools, pluggy, py, wcwidth, attrs, packaging Required-by:
Location – путь до ваших глобальных пакетов.
В большинстве случаев, устанавливать пакеты глобально – плохая идея 🙅♂️ Почему? Рассмотрим простой пример:
Допустим у нас есть два проекта: » Project A» и » Project B» . Оба проекта зависят от библиотеки Simplejson . Проблема возникает, когда для «Project A» нужна версия Simplejson 3.0.0, а для проекта «Project B» – 3.17.0. Python не может различить версии в глобальном каталоге site-packages – в нем останется только та версия пакета, которая была установлена последней.
Решение данной проблемы – создание виртуального окружения (virtual environment)
Основная цель виртуального окружения Python – создание изолированной среды для python-проектов.
Это означает, что каждый проект может иметь свои собственные зависимости, независимо от других проектов.
Настройка виртуального окружения
Один из самых популярных инструментов для создания виртуального окружения – virtualenv . Однако в данной статье мы будем рассматривать более свежий инструмент venv .
Устанавливать venv не нужно – он входит в стандартную библиотеку Python
Создание
Для создания виртуального окружения, перейдите в директорию своего проекта и выполните:
python -m venv venv
Флаг -m указывает Python-у запустить venv как исполняемый модуль. venv/ — название виртуального окружения (где будут храниться ваши библиотеки)
В результате будет создан каталог venv/ содержащий копию интерпретатора Python, стандартную библиотеку и другие вспомогательные файлы.
Новые пакеты будут устанавливаться в venv/lib/python3.x/site-packages/
Активация
Чтобы начать пользоваться виртуальным окружением, необходимо его активировать:
- venv\Scripts\activate.bat — для Windows;
- source venv/bin/activate — для Linux и MacOS:
source выполняет bash-скрипт без запуска дополнительного bash-процесса.
Проверить успешность активации можно по приглашению оболочки. Она будет выглядеть так:
Также новый путь до библиотек можно увидеть выполнив команду:
python -c «import site; print(site.getsitepackages())»
Интересный факт: в виртуальном окружении вместо команды python3 и pip3, можно использовать python и pip
Автоматическая активация
В некоторых случаях, процесс активации виртуального окружения может показаться неудобным (про него можно банально забыть 🤷♀️ )
На практике, для автоматической активации перед запуском скрипта, создают скрипт-обертку на bash
Теперь можно установить права на исполнение и запустить нашу обертку:
chmod +x myapp/run.sh ./myapp/run.sh
Деактивация
Закончив работу в виртуальной среде, вы можете отключить ее, выполнив консольную команду:
Альтернативы venv
На данный момент существует несколько альтернатив для venv:
- pipenv — это pipfile, pip и virtualenv в одном флаконе;
- pyenv — простой контроль версий Питона;
- poetry — новый менеджер для управления зависимостями;
- autoenv — среды на основе каталогов;
- pew — инструмент для управления несколькими виртуальными средами, написанными на чистом Python;
- rez — интегрированная система конфигурирования, сборки и развертывания пакетов для программного обеспечения.
Стоит ли использовать виртуальное окружение в своей работе – однозначно да. Это мощный и удобный инструмент изоляции проектов друг от друга и от системы. С помощью виртуального окружения можно использовать даже разные версии Python!
Однако рекомендуем присмотреться к более продвинутым вариантам, например к pipenv или poetry .
Источник
Виртуальное окружение в Python
В этой статье мы рассмотрим как используется и для чего нужно виртуальное окружение в Python.
Введение
Виртуальное окружение это изолированная пространство для приложений в Python, которое дает возможность иметь свой набор зависимостей не мешая другим проектам.
Так же оно позволяет задействовать различные версии интерпретатора в нескольких проектах.
Создание окружения в Python выполняется с помощью встроенного модуля venv. Venv — это модуль из стандартной библиотеки не требующий никакой дополнительной установки.
Виртуальное окружение создается под конкретные проекты, для его создания потребуется знать путь до корневого каталога.
Создание директории для проекта
Необходимо выполнить команду в терминале
mkdir test_project создает папку с именем test_project, а cd test_project перемещается в эту директорию.
Это то же самое, что создать пустую папку и открыть ее.
В директории test_project будут храниться все файлы проекта и это будет местом для виртуального окружения.
Создание виртуального окружения
Чтобы создать виртуальную среду, нужно вызвать модуль venv из интерпретатора и указать директорию для служебных файлов.
После выполнения будет готово окружение с версией Python по умолчанию.
.venv — имя окружения. Можно называть как угодно. По совместительству является директорией в которой хранится вся информация окружения.
Если в операционной системе есть несколько версий Python и требование использовать какую – то конкретно, создайте виртуальную среду следующим образом
Этот запуск команды создаст каталог .venv если он не существует, а также создаст внутри него папки, содержащие копию интерпретатора Python, а так же стандартную библиотеку и различные поддерживающие файлы.
Активация виртуальной среды
Просто создать виртуальное окружение недостаточно, так же его необходимо активировать
Активация виртуальной среды в Windows
Открываем командную оболочку или powershell, переходим в директорию проекта и выполняем команду
Активация виртуальной среды в macOS и Linux
Достаточно открыть терминал в директории проекта и выполнить команду
Активация виртуальной среды изменит приглашение оболочки, чтобы показать, какую виртуальную среду вы сейчас используете.
Вот и все. Затем вы можете установить, обновить и удалить пакеты с помощью pip. Установленные пакеты будут изолированы только для данного проекта.
Заключение
Сегодня мы рассмотрели как используется и для чего необходимо виртуальное окружение в Python. Если у вас есть дополнительные вопросы, не стесняйтесь задавать их в комментариях.
Источник