197

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

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、私が持っているものをチェックしましょう。echo $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 インストール。

4

32 に答える 32

173

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

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

于 2012-05-25T14:42:52.583 に答える
41

virtualenv にいる場合は、./manage.py 'command' を実行する前にアクティブ化する必要があります

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

.bash_profile または .bashrc で workon を設定する場合

workon yourvirtualenvname

*manage.py ファイルを編集しないでください。正しい方法で動作しない可能性があり、将来的にエラーが発生する可能性があります。

于 2013-06-11T18:07:05.207 に答える
31

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

代わりに、次の方法でインストールします。

$ source ./bin/activate
$ pip install Django
于 2013-12-27T14:19:04.073 に答える
18

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

sudo pip install --upgrade django==1.3

(1.3をdjangoバージョンに置き換えます)

于 2011-05-18T19:29:31.680 に答える
13

既知のように、これはパスの問題でした。

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

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

于 2011-05-19T14:08:05.887 に答える
10

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

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

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

#!/usr/bin/env python2

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

#!/usr/bin/env python3
于 2012-09-20T12:04:35.993 に答える
7

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

$ workon env_name
于 2015-03-31T10:02:13.620 に答える
4

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

alias python=python2.7

詳細を知る必要がある場合は、ここで解決策を見つけました

于 2012-08-11T22:45:41.393 に答える
4

解決しました!!!

年齢を検索し、うまくいかなかったこれらの他のすべての提案を試した後、私は最終的に自分のセットアップの解決策を見つけました.

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

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

解決

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

そうです... __init__.pyファイルのみを含むフォルダー「django」を削除するとすぐに...サーバーを再度実行できました!

理由はわかりませんが

于 2016-03-28T09:57:04.900 に答える
3

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

変化する

#!/usr/bin/python

#!/usr/bin/env python
于 2013-01-17T13:51:22.490 に答える
2

python python パスを変数に保存して実行します。これには、そうでなければ不足しているパッケージが含まれます。

python_path= `which python` 
$python_path manage.py runserver
于 2015-07-13T05:51:10.013 に答える
2

Django 1.6 以降を使用している場合は、execute_manager が削除されたことに注意してください。2 番目の SO answer hereに投稿された解決策があります。

于 2014-01-17T20:25:07.347 に答える
2

=================================ソリューション=============== ==========================

最初に移動: 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

幸運を!!

于 2018-08-05T04:56:17.640 に答える
1

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

于 2012-01-17T22:45:47.790 に答える
1

#PATH="$VIRTUAL_ENV/bin:$PATH" を PATH="$PATH:$VIRTUAL_ENV/bin" に変更することで、この問題を修正しましたインストールされたpythonはそうします。

于 2014-07-30T17:59:28.073 に答える
1

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

pip インストール ジャンゴ

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

于 2014-05-14T07:40:22.467 に答える
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

次にこれを行います:

import django print (django.get_version()) (使用する python のバージョンによって異なります。これは python 3 以降のシリーズ用です)

python manage.py runserver を実行し、:localhost:8000 と入力して Web ブラウザーを確認すると、django を使用したページが表示されるはずです。

お役に立てれば。

于 2014-05-03T10:22:23.543 に答える
0

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

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

于 2013-04-22T02:12:54.167 に答える
0

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

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

于 2011-05-18T19:37:29.973 に答える
0

アプリケーションを呼び出してsiteも、この問題を再現できます。

于 2018-07-11T16:04:01.143 に答える
-2

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

于 2016-01-27T19:27:53.273 に答える