私はPython Djangoと連携して学習しています。最初にPython 3をマシン(Debian Wheezy)にインストールしました)が、起こり得る競合について読んで、いくつかの困難。
今、virtualenvを使用しており、env内にpython3をインストールしています。Django using pip。Django and 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
簡単なグーグルは私に役立つ結果を何も見つけませんでした。
私は何をすべきか?
find_spec
はPython 3.2.3;では使用できません。それは Python 3.4 で追加されました。
3.4以降にアップグレードしてみてください。
Django(v1.9.1)のバージョンは、Python 3.2では使用できません。したがって、@ KarthiGと@MUNGAI NJOROGEは正しいです。今、あなたは理由を知っています。
Dockerコンテナでも同じ問題が発生しました。
dockerコンテナとDjango 1.9およびpython:3.3依存関係を使用している場合、find_specは使用できません。依存関係が機能するように、Dockerイメージに以下の行を追加してください。FROM python:3.4