Я установил версию Django поверх 2.x, но команда django-admin startproject (в нижнем регистре) создает проект с версией 1.x

#django #django-2.1

#django #django-2.1

Вопрос:

 python3 -m venv venv
source venv/bin/actvaite # activate virtual env
pip install --upgrade pip
pip3 install Django # Django 2.1.7 installed

django-admin startproject temp # 1.x version
Django-admin startproject temp # 2.x version

  
  1. django-admin vs Django-admin

    django-admin start с нижнего регистра создает версию проекта 1.x
    Django-admin начинает с верхнего регистра, создавая версию проекта 2.x

  1. официальные документы — начните со строчных docs

резюме 1) что не так в моей среде? 2) как я могу создать проект с помощью django-admin (в нижнем регистре)

Ответ №1:

Похоже, что pip команда указывает на Python 2.x, а pip3 указывает на Python 3.x. Чтобы посмотреть, так ли это:

 deactivate  # in case you're in a virtual environment
pip --verison
pip3 --verison
  

Это покажет вам, на какую версию Python указывает каждая из них. Поскольку Django 2.x совместим только с Python 3, pip автоматически будет установлен Django 1.11.x, если вы устанавливаете с pip помощью Python 2.x .

Лучший способ обойти это — убедиться, что вы используете виртуальную среду. Чтобы запустить новый проект Django:

 python3 -m venv my_project_venv
. my_project_venv/bin/activate
pip --version  # Make sure it is pointing to Python 3
pip install django
django-admin startproject my_project
  

В следующий раз, когда вы вернетесь к работе над своим проектом, вы можете повторно активировать виртуальную среду со всем, что вы установили внутри нее:

 . my_project_venv/bin/activate
  

Удачи!

Ответ №2:

Вы устанавливали Django в своей среде?

 pip install Django
  

Быстрый обходной путь заключается в выполнении следующего в вашей среде:

 python3 venv/bin/django-admin startproject temp