Django-「django.core.managementという名前のモジュールはありません」


104

コマンドラインからDjangoを実行しようとすると、次のエラーが表示されます。

File manage.py, line 8, in <module>
     from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

これを解決する方法に関するアイデアはありますか?


正確に何を実行しようとしているのか、Pythonのバージョン、Djangoのバージョンなど...
Jon Clements

私のローカルホストのバージョンはPython 2.6.6、および1.4.3 Dyangoです。Pythonサーバーは2.6.6で、Dyangoの場合、確認方法がわからない場合は確認できません。
Krasimir

移行を試みているときにランダムにこのエラーが発生し、Djangoがインストールされた仮想環境にいました。私は単にコマンドを再度実行しただけで機能しました。
aalaap

これと同じエラーがあります。djangoをインストールしましたが、dist-packagesディレクトリにインストールしました。Dockerfileはubuntuベースイメージを使用します。Dockerfileを更新してこれを追加しましたENV PYTHONPATH="$PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages"が、まだdjangoアプリをロードしていません。
alltej

回答:


55

djangoがインストールされていないようです。このコマンドで作成されたディレクトリを確認する必要があります。

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

そこにdjangoパッケージがあるかどうかを確認します。

サイトパッケージ内にdjangoフォルダーがない場合は、djangoがインストールされていません(少なくともそのバージョンのpythonの場合)。

pythonの複数のバージョンがインストールされていて、djangoが別のバージョンの内部にある可能性があります。入力pythonしてTab キーを押すと、Pythonのすべてのバージョンを確認できます。ここに私が持っているすべての異なるpythonがあります。

$python
python            python2-config    python2.6         python2.7-config  pythonw2.5
python-config     python2.5         python2.6-config  pythonw           pythonw2.6
python2           python2.5-config  python2.7         pythonw2          pythonw2.7

上記のコマンドをpythonのバージョンごとに実行し、それぞれのsite-packagesディレクトリを調べて、djangoがインストールされているかどうかを確認できます。例えば:

python2.5 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
python2.6 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

例えばpython2.6の中にdjangoを見つけたら、元のコマンドを試してみてください

python2.6 manage.py ...

これは、 "
usr / lib / python2.6 / site

「/usr/lib/python2.6/site-packages」フォルダに移動し、djangoというフォルダが中にあるかどうかを確認します。
RaviU

Django以外のEvrything:D
Krasimir

こんにちは、私の編集済みの回答を確認してください。多分あなたのジャンゴはPythonの別のバージョンにあります。
RaviU

1
virtualenvを使用して、または仮想環境でdjangoをインストールした場合、システムにグローバルにインストールしていない限り、実行するためには仮想環境にいる必要があります。
Ramon Suarez

41
sudo pip install django --upgrade 

私のためにトリックをしました。


4
あなたの答えがうまくいったので、私はそれに賛成票を入れました。ただし、実行sudo pip install django --upgradeしたときに新しいエラーが発生したため、あなたの答えだけでは不十分でしたNo module named psycopg2。それで、私は走りましたsudo pip install psycopg2 --upgrade、そしてそれはトリックをしました。
Dorian Dore

2
djangoがインストールされていないことが判明しました...以前にマシンで使用したことがあるのですが。変だ。
James111 2015

タイムアウトの問題が発生したのでsudo pip install --default-timeout=100 django --upgrade、すべてスムーズに進みました。
ザップ

「pyenv」を使用している場合は、次のものが必要ですpip install django --upgrade --user
。– Inyoka

30

私は同じエラーを受け取り、次のように修正しました:

次のコマンドを使用して仮想環境をアクティブ化する必要がありました

source python2.7/bin/activate

22

ほとんどの場合manage.py、最初の行は次の行から始まり!/usr/bin/pythonます。つまり、仮想環境ではなく、システムのグローバルpythonを使用しています。

だから交換

/usr/bin/python

~/projectpath/venv/bin/python

そして、あなたは良いはずです。


ありがとう。それは役に立ちました。
Serg Smyk

私のプロジェクトには、アプリの一部を呼び出すbashスクリプトがあり、そのbashスクリプトがpython startapp含まれていたため、変更する必要が/path/to/venv/bin/python startappあり、機能しました。これを指摘してくれてありがとう!!
Gordster

13

さて、virtualenvとdjangoをインストールした後、今日同じエラーに直面しました。私にとっては、djangoのインストールに sudo(sudo pip install django)を使用していて、sudoなしでmanage.py runserverを実行しようとしていました。sudoを追加しただけで動作しました。:)


10

Virtual Wrapperで仮想環境を使用していますか?Macを使用していますか?

もしそうなら、これを試してください:

コマンドラインに次のように入力して、仮想環境を起動してから作業します

1.)

source virtualenvwrapper.sh

または

source /usr/local/bin/virtualenvwrapper.sh

2.)

workon [environment name]

注意(初心者から)-環境名を角括弧で囲まないでください


virtualenvが有効になっていないことを理解するのに2秒ほどかかりましたが、これは私の問題でした... googleボタンを1回googleに押して、何も表示されなかったので、賛成票を投じます。
RobotHumans 2013年

7

コマンドの実行中に同じ問題が発生します-

python manage.py startapp <app_name>

私の問題は、仮想環境の外でそのコマンドを実行していたことです。したがって、まず仮想環境をアクティブにして、コマンドを再度実行してください-


1
私のプロジェクトには、アプリの一部を呼び出すbashスクリプトがあり、そのbashスクリプトがpython startapp含まれていたため、変更する必要が/path/to/venv/bin/python startappあり、機能しました。
Gordster

5

この問題は、djangoがコンピューターにインストールされていない場合に発生します。djangoがインストールされていない場合、つまりdjango.core.managementモジュールもインストールされていません。そのため、このモジュールが見つからず、エラーが発生します。
この問題を解決するには、pipを使用してdjangoをインストールする必要があります。コマンドウィンドウを開き(cmdの場合)、次のように入力します。

pip install django

このコマンドは、djangoをコンピューターにインストールします。インストールpipがない場合。あなたはpipをインストールする必要があります。ここにウィンドウにpipをインストールする方法


5

私は同じことを経験し、これが私がすることです。

最初の私のインストール

pip install -r requirements.txt

私のアクティブな環境にはありません。だから私は自分の環境をアクティブにしてからもう一度実行しました

pip install -r requirements.txt


4

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

仮想環境を作成しました。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ブラウザをチェックします:localhost:8000と入力すると、djangoを使用したページが表示されます。

お役に立てれば。


3

これが他の人に役立つ場合...私のvirtualenvがデフォルトでpython2.7になっていて、Ubuntuを使用しているときにPython3を使用してDjangoを呼び出していたため、この問題が発生しました。

私のvirtualenvが使用していたPythonを確認するには:

$ which python3
>> /usr/bin/python3

python3を指定して新しいvirtualenvを作成しました(virtualenvラッパーhttps://virtualenvwrapper.readthedocs.org/en/latest/を使用):

$ mkvirtualenv --python=/usr/bin/python3 ENV_NAME

pythonパスはvirtualenv pythonを指すようになります。

$ which python3
>> /home/user/.virtualenvs/ENV_NAME/bin/python3

2

これは、Pythonプロジェクトのディレクトリ構造を変更した場合にも発生します(私はこれを行った後、動作の変更に戸惑いました)。その場合は、/ bin / activateファイルの行を変更する必要があります。したがって、プロジェクトが

/User/me/CodeProjects/coolApp/

あなたのアクティベートファイルは

/User/me/CodeProjects/coolApp/venv/bin/activate

プロジェクトをセットアップするときに、プロジェクトを

/User/me/CodeProjects/v1-coolApp/

か何か。次に開く必要があります

/User/me/CodeProjects/v1-coolApp/venv/bin/activate

それが言う行を見つけます

VIRTUAL_ENV="/User/me/CodeProjects/coolApp"
export VIRTUAL_ENV

そしてそれを

VIRTUAL_ENV="/User/me/CodeProjects/v1-coolApp"

再開する前


2

私の場合、私はUbuntuを使用しています。問題は、通常のユーザーとしてそのフォルダーに書き込む権限がないことです。sudoコマンドの前にを追加するだけで、完全に機能するはずです。私の場合sudo python manage.py syncdb


2

同じ問題があり、このメッセージが表示された理由は、「manage.py runserver」を実行していたのに対して、「python manage.py runserver」を実行して修正したためです。


2
Python 3を使用する場合は、にする必要があることに注意してくださいpython3 manage.py runserver。そうしないと、インポートエラーが引き続き発生します。
rbaleksandar

2

私は同じ問題を抱えており、以下はうまくいきました、タイプするよりもプロジェクトのメインフォルダーをナビゲートする必要があります:

source bin/activate 

1

rootと同じproblem.runコマンド 'python manage.py migrate'がありました。rootアクセスで正常に動作します(sudo python manage.py migrate)


1
それは原因ではなく症状の治療のようなものです。sudoが機能する場合は、おそらく権限の問題です。
evandentremont 2015年

確かに、問題を診断するための単なる方法です。
Hemanth Gowda、2018

1

私の場合、MacでpyCharm 5を使用しました。私にもこの問題があり、このコマンドを実行した後、私の問題は解決されました

sudo pip install django --upgrade 

1

あなたはそのように試すことができます:(ディレクトリpython3 manage.py migrateにあるようにしてくださいsrc/

pip install -r requirements.txt(移行後にrequirements.txt入力lsしたときにファイルが表示されるようにすることもできます)

それでもやはりうまくいかない場合は、 pip install django

それが役に立てば幸い


0

サーバーを実行する前に、まずプロジェクトを選択する必要があります。これworkon your_project_name を入力してから 、 python manage.py runserver


-1

ファイルとディレクトリの所有権の競合により、ここで問題が発生します。プロジェクトの下のディレクトリとファイルの所有権が現在のユーザーのものであることを確認してください。(-Rオプションを指定したchownコマンドを使用してそれらを変更できます。)コマンドを再実行してみてください。これにより、「First Django App」サンプルを実行するときに問題が解決しました。

python manage.py startapp polls

-1

python manage.py runserverを使用しようとすると、同じ問題が発生しました。私の場合、私はsudo suを使用します。端末をルートとして使用し、部分的に動作するようにもう一度試してください。だから私はpython manage.py migrateコマンドを使用し 、それを修正します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.