June 19, 2019

Виртуальные пространства

Снова я на связи. Как то в своем посте про Эхо бота я говорил, что в будущих проектах мы будем использовать виртуальные пространства.

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

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

К примеру мы, в написании ботов, используем всеми знакомую библиотеку aiogram. Так же, вы еще не знаете про такую полезную вещь как Redis.
Сейчас не нужно нагружать ваш мозг этим, но нужно понять, что в каждом новом проекте/боте бывает необходимость использовать разные версии библиотек. Тем более, разные библиотеки могут конфликтовать друг с другом, находясь в одном пространстве.

Так и здесь, мы создаем виртуальное пространство, для определенных проектов с разными версиями Python(или с одинаковыми). Наша цель - не дать пересекаться и конфликтовать нашим разным проектам.

Сделать это - очень просто.

Итак, снова открываем cmd.exe и вписываем туда команду, которая установит нам нужную библиотеку для создания виртуальных пространств:

pip3 install virtualenv

Если ошибок нет, значит все зависимости установлены. Идем дальше.

Для создания самого виртуального пространства используем данную команду, но не торопитесь:

virtualenv -p python3 ~/virtEnv1

Здесь нужно понимать, что python3 и virtEnv1 это изменяемые переменные.
В первом, мы выбираем версию Python которая будет использовать для виртуального пространства, а второе, это название нашего пространства.

Пространство есть, едем дальше.

Активируем наше окружение.
Для активации у нас есть специальный файл, хранящийся в созданном нами окружении.

cd ~/virtEnv1

Эта команда просто переносит нас в папку с виртуальным пространством.

source bin/activate

А этой командой мы активируем его.
Теперь мы, в виртуальном пространстве.
Звучит круто да? И мне нравится.

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

Для того, чтобы устанавливать библиотеки, мы так же используем команду pip.

Для выхода из него вводим команду:

deactivate
Частичная копипаста с источника