- Как создать виртуальное окружение в Python: инструкция
- Как создать виртуальное окружение в Python 3
- Шаг 1. Запускаем venv
- Шаг 2. Активируем виртуальную среду
- Другие инструменты
- Создание виртуального окружения при помощи virtualenv
- Шаг 1. Устанавливаем virtualenv
- Шаг 2. Создаем виртуальную среду
- Шаг 3. Активируем виртуальную среду
- Шаг 4. Выходим из виртуальной среды
- Что нового?
- Главное о Poetry
- Главное о Pipenv
- Create venv with python version
- Why Are They Important Python Virtual Environments?
- How to Use Venv with Specific Python Version?
- 1: Python Virtual Environment Creation
- 2: A Python Virtual Environment Being Activate
- Python Virtual Environment Deactivation
- A Python Virtual Environment can be deleted
Как создать виртуальное окружение в Python: инструкция
В статье вы узнаете, как создать виртуальную среду Python . Это может понадобиться Python-разработчикам для того, чтобы избежать проблем с библиотеками разных версий.
- Простой пример: у вас есть два приложения, которые подключаются к одной и той же библиотеке. Вот только каждому приложению нужны разные ее версии.
- Еще пример: вы хотите обеспечить работу приложения независимо от обновлений библиотек, которые устанавливаются в глобальном хранилище Python.
- И третий пример: у вас нет доступа к этому хранилищу.
Выход во всех трех случаях — создать venv Python . Название модуля venv — это сокращение от Virtual Environment, то есть виртуальная среда. Venv представляет собой отличный инструмент для изоляции проектов, своеобразную песочницу. В ней мы можем запускать приложение со своими зависимостями, чтобы не мешать другим приложениям, которые используют то же ПО, но иных версий. В результате каждое приложение будет запускаться в собственной виртуальной среде, изолированно от остальных, что повысит стабильность работы всех приложений.
Как создать виртуальное окружение в Python 3
Приятная новость: отдельно устанавливать venv на Windows нам не потребуется, пакет является частью стандартной библиотеки Python 3 и поставляется вместе с интерпретатором.
Что касается Linux, то здесь venv далеко не всегда входит в пакет операционной системы, поэтому может потребоваться его установить. На Ubuntu/Debian это делается следующей командой:
sudo apt install -y python3-venv
Некоторые пакеты Python требуют сборки из исходных кодов, поэтому также может потребоваться установка следующих пакетов:
sudo apt install -y build-essential libssl-dev libffi-dev python3-dev
Теперь рассмотрим, как создать виртуальное окружение Python 3 в Windows и Linux с помощью venv .
Шаг 1. Запускаем venv
Сначала идет общая команда для всех ОС:
Разберем ее чуть подробнее. Здесь -m выступает в качестве инструкции для запуска модуля venv . А вторая запись venv указывает на каталог venv/lib/python3.8/site-packages/ (номер версии 3.8 добавлен просто для примера, она может быть и другой), в котором Python будет хранить все библиотеки и другие компоненты, необходимые для изолированной работы приложений.
Шаг 2. Активируем виртуальную среду
Активация виртуального окружения выполняется по-разному для Windows и Linux. В ОС от Microsoft понадобится запустить этот скрипт:
А в Linux (и также в MacOS) нужно ввести вот такую инструкцию:
Если всё сделано правильно, будет выведена следующая запись:
(venv) root@purplegate:/var/test#
Теперь можно приступать к работе над проектом в изолированном окружении.
Другие инструменты
Конечно, venv является самым современным инструментом для создания виртуальной среды. Но он появился только в Python 3. А что делать тем, кто по каким-то причинам работает с более старыми версиями языка? Ответ: пробовать иные инструменты, которые имеют и ряд других полезных функций, иначе бы мы о них даже не упоминали. Кратко опишем эти решения, а затем рассмотрим подробнее наиболее популярное.
- virtualenv . Простой и понятный инструмент, который пригодится при развертывании многих приложений. Поэтому он будет полезен для освоения, и ниже мы представим инструкцию по работе с ним.
- pyenv . Позволяет изолировать версии «Питона». Полезен, если по какой-то причине вам требуется запускать разные версии Python — например, для тестирования программы.
- virtualenvwrapper . Обертка для virtualenv , которая используется для хранения виртуальных сред и различных операций с ними (создание, копирование, удаление). Virtualenvwrapper хорош тем, что с его помощью можно легко переключаться между средами и использовать различные плагины для расширения функций.
Создание виртуального окружения при помощи virtualenv
Рассмотрим этот процесс на примере ОС Linux. Впрочем, запуск virtualenv в Windows выполняется почти так же, разница будет лишь в путях, которые здесь будут иными, и скриптах. И это мы будем оговаривать отдельно.
Шаг 1. Устанавливаем virtualenv
Можно скачать исходники приложения и поставить его вручную, но удобнее всего сделать это с помощью менеджера pip . В этом случае всё, что вам понадобится, это ввести в консоли следующую инструкцию:
Шаг 2. Создаем виртуальную среду
Этот шаг делается тоже при помощи всего одной небольшой инструкции:
Эта простая команда создаст новый каталог в текущем. Разумеется, вместо myenv вы можете ввести любое другое имя для своего окружения. Теперь разберем структуру созданной директории:
- в /myenv/bin будут размещены скрипты для работы с окружением, копия интерпретатора нужной версии, а также собственно pip и ряд приложений для пакетной обработки. Если вы работаете в Windows, то эта папка будет иметь другой адрес: /myenv/Scripts .
- директории / myenv/lib , а также /myenv/include предназначены для хранения основных библиотек окружения. А все новые файлы будут загружаться в /myenv/lib/pythonX.X/site-packages/ , где вместо X.X будет указана ваша версия «Питона».
Шаг 3. Активируем виртуальную среду
В Linux и Windows это делается немного по-разному. Для Linux инструкция такая (будем использовать всё тот же пример с именем myenv , которое вы замените на нужное вам):
А вот так это будет выглядеть в Windows:
При корректной активации вы увидите имя вашего виртуального окружения в нижней строке (выделили красным):
Если теперь создать виртуальную среду с ключом — system-site-packages , то вы получите доступ к общему хранилищу в рамках своей среды. Делается это так:
virtualenv --system-site-packages myenv
Обратите внимание, что путь к хранилищу в Linux и в Windows тоже будет разным: соответственно, для Линукса это будет /usr/lib/python3.8/site-packages , а для Виндовc — \Python38\Lib\site-packages . Цифры версии, опять же, для примера, у вас она может быть другой.
Шаг 4. Выходим из виртуальной среды
После завершения работы с программой из нее нужно корректно выйти. В Linux это делается командой deactivate , а в Windows с помощью «батника», пакетного файла deactivate.bat .
Что нового?
Помимо уже рассмотренного модуля venv и virtualenv , существуют и более современные инструменты, обеспечивающие более гибкое управление проектами на Python, в том числе и в виртуальном окружении:
- Poetry . Это менеджер, позволяющий управлять зависимостями приложения в виртуальной среде. Также он облегчает тесты и развертывание приложений, автоматизируя многие вещи.
- Pipenv . И еще один менеджер, который уже содержит в себе pip и virtualenv , а также ряд других полезных инструментов. Этот менеджер создан для облегчения управления окружениями и пакетами, ведь многие разработчики на определенной стадии развития проекта сталкиваются с проблемами из-за контроля версий.
По большому счету, каждый из этих менеджеров заслуживает отдельного разговора, но их возможности выходят далеко за рамки нашей статьи. Поэтому расскажем самое главное об этих продуктах.
Главное о Poetry
Poetry способен взять на себя всю работу с библиотеками в рамках виртуальной среды, в том числе устанавливать, обновлять и публиковать их. Например, возможностей pip для этого уже не хватит. Кроме того, создание и упаковка приложения здесь реализована при помощи всего одной команды (замените myproject на собственное название):
А, например, инструкция poetry init позволит выполнить инициализацию проекта в уже созданной директории. Вводится эта инструкция из той же директории.
Также Poetry умеет выполнять публикацию проектов в частных репозиториях, отслеживать зависимости, а еще контролировать их версии. Наконец, он облегчает работу на собственных виртуальных серверах, обеспечивая надежную изоляцию ваших проектов. Найти этот замечательный инструмент можно здесь .
Главное о Pipenv
Если в двух словах, то Pipenv можно охарактеризовать, как pip + virtualenv , но с продвинутыми возможностями. И на самом деле возможности этого менеджера гораздо шире. Так, он избавляет от необходимости пользоваться не слишком удобным файлом зависимостей requirements.txt .
Вместо этого в Pipenv есть два других файла, один из которых, Pipfile.lock , позволяет связывать версии библиотек, что хорошо для безопасности разрабатываемых приложений. Ну, а собственно Pipfile является продвинутой заменой устаревшему файлу требований. А дело в том, что Pipfile , в отличие от requirements.txt , обновляется автоматически с изменением версий продукта, что здорово выручает при работе в команде, избавляя разработчиков от ошибок зависимостей. Pipenv можно найти здесь .
Что ж, теперь вы вооружены полным набором инструментов, и обилие зависимостей с разными версиями больше не должно вас пугать.
Create venv with python version
Today at Arzhost, we discuss multiple Venv with Specific Python Version and install a specific version of python. In this tutorial, we’ll learn about Python virtual environments, the advantages of using them, and how to operate in them.
You’ll understand the following once you’ve finished this tutorial:
- What virtual environments does Python use?
- The advantages of working in virtual settings
- How to make, use, turn off, and remove virtual environments
- Why and How to set up packages in virtual settings and replicate them on different systems
- How to use VS Code’s Python virtual environments?
Refer to the guide Getting Python Up and Running on Mac if you need to install Python on a Mac. It should be noted that this guide is mostly for Linux and macOS users, although Windows users should be able to follow along as well.
Why Are They Important Python Virtual Environments?
When we run many Python projects that rely on varying versions of the same packages on the same machine. The value of Venv with a Specific Python Version becomes clear. Consider working on two distinct matplotlib-based data visualization projects, one using version 2.2 and the other using version 3.5. Python cannot use multiple versions of the same package simultaneously. Therefore, this would cause compatibility problems.
When working on managed servers or in production settings where system-wide packages cannot be changed due to specific needs. Using Python virtual environments becomes even more crucial. Python virtual environments establish separated contexts to maintain the separation of dependencies needed by various projects. So they don’t conflict with one another or with system-wide packages.
In general, creating virtual environments is the best way to separate various Venv with Specific Python Version projects, particularly if these projects have many conflicting dependencies. New Python programmers should always create a unique virtual environment for each project and install all necessary dependencies there rather than installing packages globally.
How to Use Venv with Specific Python Version?
As of now, we are aware of what virtual environments are and their purposes. This lesson section will teach you how to develop and perform.
1: Python Virtual Environment Creation
Make a project folder first, then construct a virtual environment inside it. Open the terminal program, type the following command, and press return to complete the action.
Now, perform the following commands with the venv command to build a virtual environment inside the project folder:
We may use virtualenv and venv, two programs for creating virtual environments, almost interchangeably. Older Python versions are supporte through virtualenv. Which must be install using the pip command. The Python standard library already has venv. Which can only be used with Python versions 3.3 or higher and doesn’t need to be install.
2: A Python Virtual Environment Being Activate
Run the following command to turn on the Venv with the Specific Python Version we generated in the previous stage.
Its name displays in parenthesis at the beginning of the terminal prompt, as you can see after turning on the virtual environment. Another method for verifying that the virtual environment is active is to use the python command.
Running this command displays where the Python interpreter is located within the virtual environment. Check the virtual environment’s position now.
Knowing that the Python version used to create the environment and the virtual environment are the same is a good thing. Checking the Venv with a Specific Python Version in the virtual environment is a good idea.
Since I set up the virtual environment with Python 3.10, the virtual environment also makes use of that Python version.
Python Virtual Environment Deactivation
You can disable an environment by using the following command once you have finished using it or wish to switch to another virtual environment:
A Python Virtual Environment can be deleted
There is no need to uninstall a Venv with a Specific Python Version if you just want to delete its folder.
Related Article