Виртуальные пространства
Снова я на связи. Как то в своем посте про Эхо бота я говорил, что в будущих проектах мы будем использовать виртуальные пространства.
Признаюсь, для меня это долго было каким то бесполезным делом. Я не использовал их в своих старых проектах, обходил стороной в общем.
Но сейчас, с опытом, я понимаю сколько проблем может принести не использования виртуальных пространств.
К примеру мы, в написании ботов, используем всеми знакомую библиотеку aiogram. Так же, вы еще не знаете про такую полезную вещь как Redis.
Сейчас не нужно нагружать ваш мозг этим, но нужно понять, что в каждом новом проекте/боте бывает необходимость использовать разные версии библиотек. Тем более, разные библиотеки могут конфликтовать друг с другом, находясь в одном пространстве.
Так и здесь, мы создаем виртуальное пространство, для определенных проектов с разными версиями Python(или с одинаковыми). Наша цель - не дать пересекаться и конфликтовать нашим разным проектам.
Сделать это - очень просто.
Итак, снова открываем cmd.exe и вписываем туда команду, которая установит нам нужную библиотеку для создания виртуальных пространств:
pip3 install virtualenv
Если ошибок нет, значит все зависимости установлены. Идем дальше.
Для создания самого виртуального пространства используем данную команду, но не торопитесь:
virtualenv -p python3 ~/virtEnv1
Здесь нужно понимать, что python3 и virtEnv1 это изменяемые переменные.
В первом, мы выбираем версию Python которая будет использовать для виртуального пространства, а второе, это название нашего пространства.
Пространство есть, едем дальше.
Активируем наше окружение.
Для активации у нас есть специальный файл, хранящийся в созданном нами окружении.
cd ~/virtEnv1
Эта команда просто переносит нас в папку с виртуальным пространством.
source bin/activate
А этой командой мы активируем его.
Теперь мы, в виртуальном пространстве.
Звучит круто да? И мне нравится.
Теперь мы видим, что рядом с вводом команд у нас в скобках указывается название виртуального пространства.
Для того, чтобы устанавливать библиотеки, мы так же используем команду pip.
Для выхода из него вводим команду:
deactivate
Частичная копипаста с источника