2016-01-05 17 views
23

Tôi đang học Python song song với Django. Ban đầu tôi đã cài đặt Python 3 trên máy tính của mình (Debian Wheezy), nhưng đọc về các xung đột có thể xảy ra và loại bỏ nó với một số khó khăn.Tại sao tôi nhận được "ImportError: không thể nhập tên find_spec" khi tôi bắt đầu một dự án Django mới?

Bây giờ tôi đang sử dụng virtualenv và cài đặt python3 bên trong env và Django bằng pip. Django và Python có vẻ như đã được cài đặt một cách chính xác:

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

nhưng khi tôi cố gắng để bắt đầu một dự án Django mới, tôi nhận được như sau:

# 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 

Một google nhanh chóng bật lên không có kết quả mà có thể giúp tôi .

Tôi nên làm gì?

Trả lời

27

find_spec không có sẵn bằng Python 3.2.3; nó là added in Python 3.4.

Thử nâng cấp lên 3.4 trở lên.

+0

Điều này giải quyết được sự cố của tôi. Cần được đánh dấu hợp lệ. –

0

Tôi gặp vấn đề tương tự với vùng chứa docker.

find_spec không khả dụng khi sử dụng vùng chứa Docker và django 1.9 và python: 3.3 phụ thuộc. Thêm dòng dưới đây vào hình ảnh docker của bạn như là một phụ thuộc hoạt động. FROM python:3.4

3

Phiên bản Django bạn đang sử dụng (v1.9.1) không thể được sử dụng với Python 3.2. Do đó, @KarthiG và @MUNGAI NJOROGE là chính xác, và bây giờ bạn biết tại sao.

What Python version can I use with Django?

+0

Tôi đang sử dụng Django 1.9 với Python 3.4 – KarthiG

Các vấn đề liên quan