Что делать, если я забыл активировать виртуальное окружение, работая над проектом Django?
Я работал над проектом Django в Python Crash Course 2nd edition.
В книге было сказано, что мне нужно создать виртуальное окружение и что его нужно каждый раз активировать. Я создал ее, но в какой-то момент забыл об этом и перестал активировать venv.
Я внес много изменений с момента последней активации.
Теперь я знаю, что виртуальное окружение должно быть активировано, я читал об этом на нескольких сайтах, включая Stack Overflow. И я знаю, как это сделать.
Но я не нашел, что произойдет, если я не активирую venv?
Будут ли какие-то последствия?
Если да, то как это исправить?
Виртуальная среда - это буквально создание отдельной папки и установка пакетов в эту папку.
- Но я не смог найти, что произойдет, если я не активирую venv?
Ответ:
Пакеты Python, установленные с помощью pip, будут находиться в стандартном расположении python.pros: Всякий раз, когда вы хотите использовать пакеты, вы можете напрямую использовать их без активации среды. Минусы: при разработке нескольких проектов это может привести к конфликту версий пакетов, и управлять ими сложно.
- как это исправить?
Вам просто нужно выполнить два шага
шаг 1: перечислите пакеты вашей установки python в file.open command prompt выполните эту команду
pip freeze > requirements.txt
Это создаст список всех пакетов в файле requirements.txt
Шаг 2: Установите пакеты в виртуальной среде. для этого активируйте виртуальную среду, а затем выполните команду.
pip install -r requirements.txt
опционально вы можете проверить requirements.txt и удалить ненужные пакеты перед установкой.
В долгосрочной перспективе это приведет к тому, что вы обновите свою операционную систему, а обновление стандартной версии Python, pip или других кодов Python сломает ваш проект. Использование virtualenv позволяет вам полностью контролировать, какие версии вы используете и когда их обновляете.
Это также означает, что вам не нужны права root или sudo для выполнения этого обновления.
Исправьте в соответствии с ответом Виниты Сонакии.
(Вы также можете выполнять обновление в отдельной ветке git. Создайте новую ветку для обновления, клонируйте ваше репо в обновленную ветку, переключитесь на ветку обновления и внесите изменения в код, требуемые новой версией Django, новой версией Python, обновленными другими требованиями и т.д.
В заключение, еще одна вещь, которую вы должны сделать сейчас: создайте пустую папку, скажем app/
, которая будет корнем вашего git-репозитория app/.git
, и поместите ваш проект Django на один уровень ниже. app/myapp/manage.py
и т. д. Это значительно облегчит жизнь, когда вы начнете работать над развертыванием, докеризацией, написанием технической документации и т.д. )