2016-01-05 5 views
23

Ich lerne Python im Tandem mit Django. Ich habe ursprünglich Python 3 auf meinem Rechner installiert (Debian Wheezy), aber über mögliche Konflikte gelesen und es mit einigen Schwierigkeiten entfernt.Warum erhalte ich "ImportError: kann Name find_spec nicht importieren", wenn ich ein neues Django-Projekt starte?

Jetzt benutze ich virtualenv und installiert python3 in der env und Django mit pip. Django und Python scheint korrekt installiert zu haben:

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

aber wenn ich versuche, ein neues Django-Projekt zu starten, erhalte ich folgendes:

# 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 

Eine schnelle Google keine Ergebnisse aufgedreht, die mir helfen würde, .

Was soll ich tun?

Antwort

27

find_spec ist in Python 3.2.3 nicht verfügbar; es war added in Python 3.4.

Versuchen Sie, auf 3.4 oder höher zu aktualisieren.

+0

Das löste mein Problem. Muss als gültig markiert werden. –

0

Ich habe das gleiche Problem mit Docker Container.

find_spec ist nicht verfügbar, wenn Docker-Container und django 1.9 und python: 3.3-Abhängigkeit verwendet werden. Hinzufügen der Zeile unten in Ihrem Docker-Bild als Abhängigkeit funktioniert. FROM python:3.4

3

Die Version von Django, die Sie verwenden (v1.9.1), kann nicht mit Python 3.2 verwendet werden. Daher sind @KarthiG und @MUNGAI NJOROGE korrekt, und jetzt weißt du warum.

What Python version can I use with Django?

+0

Ich benutze Django 1.9 mit Python 3.4 – KarthiG

Verwandte Themen