Как понять, активирован ли env в проекте django
Я только начинаю изучать django и столкнулся с этапом настройки. В частности, я хотел бы спросить, как узнать, активирована ли виртуальная среда или нет. Я знаю, что могу использовать команду "pip freeze", но во всех учебниках, которым я следую, когда venv активирован, я вижу имя vevn в скобках в командной строке терминала. Я могу правильно активировать venv с помощью команды source и проверить с помощью команды pip freeze, но у меня нет никаких указаний в командной строке. Я на Mac/OS (chip mac) и использую python3
спасибо
Чтобы иметь визуальную информацию о virtualenv в командной строке, необходимо изменить конфигурацию оболочки, чтобы она отображалась. Это не связано с самим python или django.
Это будет зависеть от используемой оболочки, но если вы используете оболочку по умолчанию на mac, вы можете проверить этот вопрос virtualenv name not show in zsh prompt
От venv docs.
Когда виртуальная среда активна, переменная среды VIRTUAL_ENV устанавливается на путь к виртуальной среде. Это можно использовать для проверки того, запущен ли человек внутри виртуальной среды.
Так что вы должны быть в состоянии проверить его с:
import os
os.getenv('VIRTUAL_ENV') is not None
Да, когда виртуальная среда активирована, она отображается в терминале в виде префикса, как
(env) yourname~Desktop/workspace-folder>
И этого достаточно, чтобы знать, что он активирован, и вы им пользуетесь.
Поскольку вы используете Python 3, вы можете создать виртуальную среду следующим образом в том же каталоге вашего проекта, откройте терминал или iTerm и запустите эту команду
python3 -m venv env
Через несколько секунд будет создана папка env - это и есть ваша виртуальная среда. Обратите внимание, что вы можете назвать свою виртуальную среду по своему усмотрению, например python3 -m venv djang-app
После создания виртуальной среды вы можете активировать ее, как
source env/bin/activate
Опять же, если вы создали виртуальную среду, используя, скажем, django-app
python3 -m venv django-app
Вы можете активировать его следующим образом
source django-app/bin/activate
и вы увидите, что ваш терминал имеет следующий префикс
(django-app) yourname~Desktop/workspace-folder>
Чтобы деактивировать виртуальную среду, достаточно выполнить эту команду deactivate
в терминале с активной виртуальной средой.
Вы можете узнать больше о python3 venv здесь.