djangoインポートエラー-core.managementという名前のモジュールはありません


187

わかりました、これらのエラーはたくさんあります。私は知っていることをすべて試しましたが、まだこれを理解していません。

私はpython 2.5とDjango 1.3を実行している開発サーバーで作業しています。Django 1.3は、tar.gzダウンロードを解凍した後、python setup.py installを使用してインストールされました。

すべてうまく機能します。実行する必要はほとんどありませんがmanage.py、新しいstaticfilesアプリを使用しようとしていて、問題が発生しています。

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: No module named core.management

わかりました、それでPATH問題があります。

Djangoインストールから、site-packagesディレクトリを再確認します。

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages

OK、私が持っているものをチェックしてみましょう。$ PYTHON_PATHが空だったので、それを設定します。

export PYTHON_PATH=/usr/lib/python2.5/site-packages/django

まだ運がない。sys.pathの発言を確認してみましょう

>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']

パスがあります、私は/usr/lib/python2.5/site-packages/django.pthも作成しました

cat /usr/lib/python2.5/site-packages/django.pth 
/usr/lib/python2.5/site-packages/django/

誰かがここで何が起こっているのかについての手掛かりを得ましたか?

邪魔になっていたパスのさらに上にシンボリックリンクが見つかりましたが、新しいエラーには進みませんでした。

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
    version=get_version(),
  File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
    from django.utils.version import get_svn_revision
ImportError: No module named utils.version

また、新しいプロジェクトを作成して、そこに問題がないか確認し、同じutils.versionエラーを取得しました。

サイドノード:#djangoのUnodeは少し助けになり、同じマシンでvirtualenvをセットアップしてエラーを乗り越えたので、この実際のインストールで何が起きているのかまだわかりませんが、djangoプロジェクトではなくdjangoにあるようです/ pythonインストール。


1
import djangoPythonシェルに入力するとどうなりますか?
silent1mezzo

@ silent1mezzo-ああ、それを投入するのを忘れた、インポートdjangoのPythonシェルからのクレームなし
grantk

1
走ったpython manage.py syncdb
silent1mezzo

@silentmezzo-このマシンではなく、プロジェクトを移動する前に個人用マシンで実行しました。
グラント

最初に実行してみてください。これにより、エラーが発生することがあります。
silent1mezzo

回答:


169

私のように、virtualenvでdjangoを実行していて、このエラーが発生する場合は、を確認してくださいmanage.py。最初の行は、スクリプトの実行に使用されるpython実行可能ファイルを定義する必要があります。これは、virtualenvのpythonへのパスでなければなりませんが、/ usr / bin / pythonのように何かが間違っています。これは、同じパスではなく、グローバルpython環境を使用します(パッケージが欠落します)。パスをvirtualenvのpython実行可能ファイルへのパスに変更するだけです。

シバンラインをに置き換えることもできます#!/usr/bin/env python。これは、最初にvirtualenvをアクティブ化することを前提として、適切なpython環境とインタープリターを使用する必要があります(これを行う方法は知っているはずです)。


27
または次のように実行<path-to-my-env>/bin/python manage.py runserver
geekQ

よくわかりました!それがまさに問題でした!
kstratis 2012

7
また、ええと... virtualenvをアクティブにすることを忘れないでください。ああ!
Alex Mcp 2013

とにかく、virtualenvでPython実行可能ファイルへのパスの例を提供できます。たとえば、私の仮想環境へのパスは/ Users / Chris / virtualenv / my_first_venvで、最初の行を#!/ Users / Chris / virtualenv / my_first_venv /にしましたが、それでも同じエラーが発生します。私はシバンで何か悪いことをしているかもしれないと思います...
クリス

パスの最後にpython実行可能ファイルを追加するのを忘れた可能性があり#!/Users/Chris/virtualenv/my_first_venv/bin/pythonます。
Steve K

40

virtualenvを使用している場合は、。/ manage.py 'command'を実行する前にそれをアクティブにする必要があります。

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

.bash_profileまたは.bashrcでworkonを構成する場合

workon yourvirtualenvname

* manage.pyファイルは編集しないでください。おそらく正しい方法では機能せず、将来のエラーが発生する可能性があります


これは、それを機能させるのに苦労している夜の半分を燃やした後、私にとってもそれをしました。@ elin3t、どうもありがとうございました。
Yax 2014

30

Djangoをスーパーユーザーとしてインストールしていたため、virtualenvにはないため、同じ問題が発生しました。あなたはすべきではないsudo pip install Django

代わりに、次のようにインストールしてください:

$ source ./bin/activate
$ pip install Django

ただし、sudoを使用しないと、OSError:[Errno 13] Permission denied: '/opt/local/Library/Libraryworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django'
malhal

15

djangoをpipで再インストールしてください:

sudo pip install --upgrade django==1.3

(1.3をdjangoバージョンに置き換えてください)


25
推奨されません。を使用sudoしてシステムディレクトリにインストールすると、ネイティブパッケージが妨害され、おそらくpythonインストールの少なくとも一部が壊れます。virtualenvをお勧めします。
Noufal Ibrahim、

11

既知のとおり、これはパスの問題でした。

カスタムパッケージのベースは、/ etc / profileに設定されたディレクトリと名前を共有していました。ただし、パッケージはWebサーバー用の別の場所にありました。だから私は自分の$ PYTHONPATHから問題のあるエントリを削除し、よかったです!

助けてくれてありがとう。


10

この問題のもう1つの考えられる理由は、OSがデフォルトでpython3を実行していることです。

明示的に行う必要があります: python2 manage.py

またはmanage.py、次のようにのシバンを編集する必要があります。

#!/usr/bin/env python2

またはpython3を使用している場合:

#!/usr/bin/env python3

私にとって、私はしなければなりませんでした#!/usr/bin/env python2.7
Vic

8

上の組み込みシステム(コースのジャンゴを使用)を実行しようとしているときに、私はこのエラーが発生しましたラズベリーパイ2(及びませんVM

これを実行する:

 sudo pip install Django

トリックを作った!

  • Raspbian / Jessieを使用しているフェローがこれを取得した場合に備えて

6

おそらくvirtualenvwrapperを使用しています。次のコマンドを実行して、環境を選択することを忘れないでください。

$ workon env_name

4

私にとって、私のサーバーはPython 2.4を使用していました。サーバーにインストールされているPython 2.7を調べてエイリアスを作成しました。

alias python=python2.7

あなたがもっと知る必要があるなら、私はここに解決策を見つけました


4

新しいアプリを作成しようとしたときに同じ問題が発生しました。と書くとpython manage.py startapp myapp、usr / bin / pythonを探します。ただし、仮想環境パスの/ binディレクトリにあるこの「python」が必要です。これを解決するには、virtualenvのpythonパスを次のように記述します。

<env path>/bin/python manage.py startapp myapp

3

manage.pyの最初の行を変更してみてください。

変化する

#!/usr/bin/python

沿って

#!/usr/bin/env python

3
逆は私を助けました。置き換え#!/usr/bin/env pythonによって#!/usr/bin/python
curlyreggie

envは、OS環境のbinリンクを取得するための一般的なunix binです。OS構成またはpythonのインストールによっては、binが/ usr / bin /とは異なるパスにある場合があり、ソリューションが機能せず、 'env' binの場合も機能しません別の場所にインストールされています。
Gabriel Cavalcante 2014

3
python3 manage.py runserver

Pythonのバージョンを確認する


3

解決しました!!!

年齢を検索した後をしなかった他のすべての提案を試した、私は最終的に私のセットアップの解決策を見つけました。

私のセットアップ/シナリオ:

  • Windows、Python27
  • 私のdjangoプロジェクトはsvn経由でチェックアウトされています
  • python manage.py runserverを実行するとき新しいフォルダでを、インポートエラーが発生しました
  • python manage.py runserverは、元のフォルダー(変更をコミットする元のフォルダー)で削除するまで機能していました

解決

manage.pyと同じディレクトリにあるdjangoという名前のフォルダーを削除します

そうです... __init__.pyだけが含まれている「django」フォルダを削除するとすぐにです...ファイル、サーバーを再度実行できます!

なぜだかわからない


__init__.pyファイルを含むフォルダーはPythonモジュールとして扱われるためです。したがって、暗黙のモジュールディレクトリにdjangoと
kaushal agrawal 2018年


2

python pythonパスを変数に保存して実行します。これには、他の方法では欠落しているパッケージが含まれます。

python_path= `which python` 
$python_path manage.py runserver

1

同様の問題がありました。PyCharmはサーバーを実行できませんでしたが、コマンドラインから実行できました。私はどのpythonを試してみて、PyCharmが同じインタープリターであることを確認してから、すべてが正常に動作しました。


1

このエラーは通常、djangoがインストールされていない場合に発生します。すでにdjangoをインストールしていても同じエラーが発生する場合は、別の仮想環境で作業している必要があります。仮想環境にもdjangoをインストールする必要があります。仮想マシンのシェルにいるときは、これを行うだけです。

ピップインストールジャンゴ

これは、仮想マシンに個別のファイルシステムがあるため、システムにインストールされていてもdjangoを認識しないためです。


1

#PATH = "$ VIRTUAL_ENV / bin:$ PATH"をPATH = "$ PATH:$ VIRTUAL_ENV / bin"に変更することでこの問題を修正しました。virtualenvdirのpython実行可能ファイルがdjangoを表示しないのは普通ですが、通常はインストールされたpythonが行います。


1

==================================解決策=============== ==========================

最初のgoto:virtualenv

次のコマンドを実行して:source bin / activate

「djangoのインポート」に関連するエラーが発生するため、djangoをインストールします。

pip install django

次に実行します:

python manage.py runserver

(注:「runserver」を実行するプログラム名に変更してください)

同じ問題で、私の場合はうまくいきました。==================================あらすじ=============== ==========================

ERROR:
(Development) Rakeshs-MacBook-Pro:src rakesh$ 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
ModuleNotFoundError: No module named 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    import django
ModuleNotFoundError: No module named 'django'

上記の例外の処理中に、別の例外が発生しました:

Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
(Development) Rakeshs-MacBook-Pro:src rakesh$ 
(Development) Rakeshs-MacBook-Pro:src rakesh$ 
(Development) Rakeshs-MacBook-Pro:src rakesh$ python -Wall manage.py test
Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

上記の例外の処理中に、別の例外が発生しました:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    import django
ModuleNotFoundError: No module named 'django'

上記の例外の処理中に、別の例外が発生しました:

Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

ジャンゴのインストール後:

(Development) MacBook-Pro:src rakesh$ pip install django
Collecting django
  Downloading https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl (7.3MB)
    100% |████████████████████████████████| 7.3MB 1.1MB/s 
Collecting pytz (from django)
  Downloading https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
    100% |████████████████████████████████| 512kB 4.7MB/s 
Installing collected packages: pytz, django

解決後:

(Development) MacBook-Pro:src rakesh$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

August 05, 2018 - 04:39:02
Django version 2.1, using settings 'trydjango.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[05/Aug/2018 04:39:15] "GET / HTTP/1.1" 200 16348
[05/Aug/2018 04:39:15] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304
Not Found: /favicon.ico
[05/Aug/2018 04:39:16] "GET /favicon.ico HTTP/1.1" 404 1976

幸運を!!


0

プロジェクトは、django1.3よりも古いdjango-admin.pyの古いバージョンを使用して作成されています

これを修正するには、別のdjangoプロジェクトを作成し、manage.pyをコピーして、古いプロジェクトに貼り付けます


@dontario。これではなく、1.3.0 finalを実行しているパーソナルコンピュータを使用してこのプロジェクトを作成しました。古いバージョンで作成されたインポート済みプロジェクトがいくつかありますか?
グラント

新しいmange.pyを新しいアプリケーションから使用されている古いアプリケーションにコピーしようとしましたが、それでも同じエラーが発生します。
グラント

0

これはパスの問題であることに完全に同意しましたが、fwiw、私はこれと同じエラーがありました。これは、仮想環境をセットアップするときに、Python実行可能ファイルの相対パスを使用していたことが原因でした。私はこれをしました:

virtualenv -p ~/python_runtimes/2.7.3/bin/python venv2.7.3 --distribute

代わりに、Python実行可能ファイルへのフルパスを指定する必要がありました。

HTH、ハーリン


0

ソース〜/ blog-venv / bin / activate

ここで「blog-venv」を置き換える仮想環境を選択してください。


おかげで、これに関する私の問題は解決しました:File "manage.py", line 8, in <module> from django.core.management import execute_from_ ImportError: No module named django.core.management
Shailen

0

パス上の適切なディレクトリでPythonの適切なインスタンスを実行していることを確認してください。私の場合、このエラーはpython誤って実行可能ファイルを実行したことが原因でした-私は実際にDjangoをpython2.7フレームワークとライブラリの下にインストールしました。同じことがvirtualenvの結果としても発生する可能性があります。


0

わかりましたので、次のようになります。

仮想環境を作成しました。djangoモジュールはその環境にのみ属しています。virtualenvは他のものすべてから隔離されているため、これが表示されています。

さらなる支援のためにこれを通過してください:

http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/

1.仮想環境が保存されているディレクトリに切り替えて、djangoモジュールを実行できます。

2.または、pipまたはeasy_installを実行して、djangoをpython-> site-packagesにグローバルにインストールできます。

pipを使用するコマンド:pip install django

次にこれを行います:

インポートdjangoプリント(django.get_version())(使用するpythonのバージョンによって異なります。これはpython 3+シリーズの場合)

そして、これを実行することができます:python manage.py runserverと入力して、Webブラウザーで確認します。

お役に立てれば。


0

startappコマンドを発行する前に、新しいアプリの名前をsettings.pyのINSTALLED_APPSリストに含めました。リストのエントリを削除したら、アプリを作成できます。


0

代わりに「django-admin」コマンドを使用してこの問題を解決しました:

django-admin startproject _project_name

「django-admin」に添付された「.py」を削除するだけです



0

これは、を使用してDjangoをインストールしたことを忘れてしまったpip -Uため、Djangoアプリを実行しているユーザーしか使用できませんでした。manage.pyを実行するには、私はしなければなりませんでした

sudo su -s /bin/bash MY_DJANGO_USER
/PATH/TO/MY/APP/manage.py

-2

みなさんは、virtualenvをインストールするために「私のような」誰かがdjangoをインストールするケースについては言及していませんでした...そうすれば、私の親切な人はすべて、virtualenv..iをアクティブにした後でdjangoを再インストールします。お役に立てれば


これは解決策ではありません。これは、Steve kによる別のソリューションに関するコメントです。
shanemgrey 2016年

それが私に起こったことであり、それが私がそれを修正した方法です...それは初心者が陥る可能性がある間違いです
Dever
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.