Почему я получаю "ImportError: невозможно импортировать имя find_spec" при запуске нового проекта Django?

Я учу Python в тандеме с Джанго. Первоначально я установил Python 3 на свою машину (Debian Wheezy), но прочитал о возможных конфликтах и ​​удалил его с некоторым трудом.

Сейчас я использую virtualenv и установил python3 в env, а Django - через pip. Кажется, что Django и Python установлены правильно:

# python -c "import django;  print(django.get_version())"
1.9.1
# python -V
Python 3.2.3`

но когда я пытаюсь начать новый проект Django, я получаю следующее:

# django-admin.py startproject mysite
Traceback (most recent call last):
  File "/home/rialaado/Projects/webenv/bin/django-admin.py", line 2, in <module>
    from django.core import management
  File "/home/rialaado/Projects/webenv/lib/python3.2/site-packages/django/core/management/__init__.py", line 10, in <module>
    from django.apps import apps
  File "/home/rialaado/Projects/webenv/lib/python3.2/site-packages/django/apps/__init__.py", line 1, in <module>
    from .config import AppConfig
  File "/home/rialaado/Projects/webenv/lib/python3.2/site-packages/django/apps/config.py", line 6, in <module>
    from django.utils.module_loading import module_has_submodule
  File "/home/rialaado/Projects/webenv/lib/python3.2/site-packages/django/utils/module_loading.py", line 67, in <module>
    from importlib.util import find_spec as importlib_find
ImportError: cannot import name find_spec

Быстрый Google не нашел результатов, которые помогли бы мне.

Что я должен делать?

3 ответа

find_spec недоступно в Python 3.2.3; это было добавлено в Python 3.4.

Попробуйте обновить до 3.4 или позже.

Версия Django, которую вы используете (v1.9.1), не может использоваться с Python 3.2. Следовательно, @KarthiG и @MUNGAI NJOROGE верны, и теперь вы знаете, почему.

Какую версию Python я могу использовать с Django?

У меня такая же проблема с докерными контейнерами.

Функция find_spec недоступна при использовании контейнеров Docker и зависимостей django 1.9 и python:3.3. Добавление строки ниже в образ докера в качестве зависимости работает. FROM python:3.4

Другие вопросы по тегам