Django私が持っているアプリケーションでpython manage.py runserver
を実行しようとしていますが、このエラーが発生します:
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from Django.core.management import execute_from_command_line
ImportError: No module named Django.core.management
以下はpip freeze | grep -i Django
の出力です。実際にDjangoがインストールされています:
Django==1.6.5
Django-cached-authentication-middleware==0.2.0
Django-cors-headers==1.1.0
Django-htmlmin==0.7.0
Django-static-precompiler==0.9
djangorestframework==2.3.14
また、/usr/local/bin/python2.7 manage.py runserver
を実行しようとすると、同じエラーが発生します。
問題を解決するために、.zprofileで次の行を使用しました。
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
私はDjangoをインポートしようとしていましたが、見つかりませんでした。上記の方法で問題を解決しました。
問題を引き起こす可能性のある問題:
PYTHONPATHが適切に構成されていないため、構成するには以下を行う必要があります。
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
Manage.pyの最初で#!/usr/bin/env python
行を忘れました
Virtualenvで作業している場合、manage.pyコマンドを実行するために仮想envをアクティブにするのを忘れました(システムにDjangoをインストールしたかもしれませんが、virtualenvにはインストールしていません)
source path/to/your/virtualenv/bin/activate
または
workon env_name
Python 2.7とPython 3.4がパッケージをいじっています
非常に古いPython 2.4を使用しているため、Python 2.7を使用するようシステムに指示する必要があります。
alias python=python2.7
再インストール/アップグレードDjangoにより、これらの問題の一部が修正される場合があります。
実行したい場合があります
python -c "import Django; print(Django.get_version())"
DjangoがPCまたはvirtualenvにインストールされているかどうかを確認します
他の同様の質問で他のソリューションを見つけることができます:
すべてのセットアップを実行してDjango= Python3で実行したが、次のコマンドを実行したときに同じ問題に遭遇しました。
$ python manage.py migrate
pythonの一貫したバージョンを使用して問題を修正しました。
$ python3 manage.py migrate
Operations to perform:
Apply all migrations: sessions, auth, admin, contenttypes
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying sessions.0001_initial... OK
この前に実行した他のコマンドは次のとおりです。
python3 -m pip install Django
django-admin startproject learning_site
python3 manage.py runserver 0.0.0.0:8000
以下のコマンドを実行して、この同じエラーを解決しました。
python3.4 manage.py runserver
そして、上記のコマンドが正常に実行されました。 python 2.7を使用している場合は、3.4を2.7に置き換えてください。これが役立つことを願っています。
virtualenv
を使用してWindowsシステムでmanage.py runserver
を実行すると、cmdはvirtualenvのpythonではなく、システムのpythonを使用します。システムにpython
をインストールすると、cmdは、python
のpythonではなく、システムにインストールされたvirtualenv
を自動的に使用します。したがって、Windowsでvirtualenv
を使用する場合。走る必要がある
>python .\manage.py runserver
直接の問題は、Djangoパッケージが見つからないことです。私にとっては、Django= virtualenvで実行しているため、この問題は作業ディレクトリの名前を変更した後に発生します。
Envを再インストールするとうまくいきました。
このエラーはユーザー環境が原因です。実際、仮想環境のbinパスをPATHに追加するだけで、問題は解決しました。
PATH=/bin/of_virtualenvironment/:$PATH
Djangoファイルがある場所で、Django-admin.pyの最初の行を確認します。
#!/usr/bin/env python
python 3+を使用する場合、ここのpython
はpython2を指す場合があります。したがって、pythonをインストールするDjangoを確認してください。
ls -l $(which -a python3)
Python3がインストールされていて、python
としてリンクされていない場合、最初のShebang行を
#!/usr/bin/env python3
私のプロジェクトでのみを使用して同じ問題を修正しました。
pip install -r requirements.txt
他に何もする必要はありませんでした。私が走ったとき./manage.py runserver
すべてが機能しました!
Djangoモジュールをpythonインタープリターからインポートできましたが、Django-admin.pyはコマンドラインから実行するとインポートできませんでした。
仮想環境でpythonインタープリターを使用していることを確認しました。
64ビットバージョンのpythonを使用していました。 32ビットバージョンをアンインストールしてインストールし、次にvenvを再作成すると、これが解決しました。
また、混乱していないことを確認してください.bashrc
with alias
es。 .bashrc
にはalias python="/usr/bin/python3"
。