web-dev-qa-db-ja.com

ImportError:manage.pyの使用時にDjango.core.managementという名前のモジュールがありません

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を実行しようとすると、同じエラーが発生します。

25
Zach

問題を解決するために、.zprofileで次の行を使用しました。

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

私はDjangoをインポートしようとしていましたが、見つかりませんでした。上記の方法で問題を解決しました。

10
Zach

問題を引き起こす可能性のある問題:

  1. PYTHONPATHが適切に構成されていないため、構成するには以下を行う必要があります。

    export PYTHONPATH=/usr/local/lib/python2.7/site-packages
    
  2. Manage.pyの最初で#!/usr/bin/env python行を忘れました

  3. Virtualenvで作業している場合、manage.pyコマンドを実行するために仮想envをアクティブにするのを忘れました(システムにDjangoをインストールしたかもしれませんが、virtualenvにはインストールしていません)

    source path/to/your/virtualenv/bin/activate
    

    または

    workon env_name
    
  4. Python 2.7とPython 3.4がパッケージをいじっています

  5. 非常に古いPython 2.4を使用しているため、Python 2.7を使用するようシステムに指示する必要があります。

    alias python=python2.7
    

再インストール/アップグレードDjangoにより、これらの問題の一部が修正される場合があります。

実行したい場合があります

python -c "import Django; print(Django.get_version())"

DjangoがPCまたはvirtualenvにインストールされているかどうかを確認します

他の同様の質問で他のソリューションを見つけることができます:

25
AlvaroAV

すべてのセットアップを実行して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
3
Mona Jalal

以下のコマンドを実行して、この同じエラーを解決しました。

python3.4 manage.py runserver

そして、上記のコマンドが正常に実行されました。 python 2.7を使用している場合は、3.4を2.7に置き換えてください。これが役立つことを願っています。

3
zenwraight

virtualenvを使用してWindowsシステムでmanage.py runserverを実行すると、cmdはvirtualenvのpythonではなく、システムのpythonを使用します。システムにpythonをインストールすると、cmdは、pythonのpythonではなく、システムにインストールされたvirtualenvを自動的に使用します。したがって、Windowsでvirtualenvを使用する場合。走る必要がある

>python .\manage.py runserver
2
Ming

直接の問題は、Djangoパッケージが見つからないことです。私にとっては、Django= virtualenvで実行しているため、この問題は作業ディレクトリの名前を変更した後に発生します。

Envを再インストールするとうまくいきました。

1
SolessChong

このエラーはユーザー環境が原因です。実際、仮想環境のbinパスをPATHに追加するだけで、問題は解決しました。

PATH=/bin/of_virtualenvironment/:$PATH
1
JeanDez

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
0
Izana

私のプロジェクトでのみを使用して同じ問題を修正しました。

pip install -r requirements.txt

他に何もする必要はありませんでした。私が走ったとき./manage.py runserverすべてが機能しました!

0
Kago

Djangoモジュールをpythonインタープリターからインポートできましたが、Django-admin.pyはコマンドラインから実行するとインポートできませんでした。

仮想環境でpythonインタープリターを使用していることを確認しました。

64ビットバージョンのpythonを使用していました。 32ビットバージョンをアンインストールしてインストールし、次にvenvを再作成すると、これが解決しました。

0
noodles

また、混乱していないことを確認してください.bashrc with aliases。 .bashrcにはalias python="/usr/bin/python3"

0
prusya