我和Django一起学习Python。我最初在我的机器上安装了Python 3(Debian Wheezy),但是阅读了有关可能的冲突并将其删除有些困难。
现在我使用virtualenv并使用pip在env和Django中安装了python3。 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
一个快速谷歌出现没有任何可以帮助我的结果。
我该怎么办?
答案 0 :(得分:30)
find_spec
在Python 3.2.3中不可用;它是added in Python 3.4。
尝试升级到3.4或更高版本。
答案 1 :(得分:3)
您使用的Django版本(v1.9.1)无法与Python 3.2一起使用。因此,@ KarthiG和@MUNGAI NJOROGE是正确的,现在你知道为什么了。
答案 2 :(得分:0)
我遇到了与docker容器相同的问题。
使用Docker容器和django 1.9和python:3.3依赖时, find_spec不可用。
在docker镜像中添加以下行作为依赖项。
FROM python:3.4