11

を実行できないため、Python パスの何かが変更されたに違いありません。

python app/manage.py runserver

私が得る出力は

Unknown command: 'runserver'
Type 'manage.py help' for usage.

環境の PYTHONPATH および PATH 変数を調べましたが、実行されていない理由がわかりません。

4

4 に答える 4

18

私は自分の質問に対する答えを見つけました。

  • 設定にエラーがある場合、manage.py は例外を飲み込み、コマンドが存在しないかのように報告します。
  • これにより、python パスまたは venv 環境がめちゃくちゃであると誤って想定する道をたどりました。

この問題を診断するには、次を実行します...

python app/manage.py help

...そして例外が表示されます。もちろん、これは、コマンドが見つからないことを私に伝えた後、django シェルによって推奨されたものでした。

これは明らかに Django 1.4 のバグです。私には、実行する管理コマンドに関係なく、例外が報告されるはずです。

于 2013-02-15T18:08:39.647 に答える
1

manager.pyコードを調べるとdjango.core.management、いくつかの提案を思いつくことができます。

まず、ファイル<some_path>/django/core/management/commands/runserver.pyが存在するかどうかを確認します。

次に、次を実行します。

>>> import sys
>>> sys.path

前述の<some_path>ものがこのリストにない場合は、PYTHONPATH変数を設定する必要があります。

第 3 に、(これはすべてのショットの中で最も長いショットです) の を変更した場合はDEFAULT_PORTrunserverに戻してみてください8000

于 2013-02-15T11:27:46.397 に答える
0

私はOPに同意しました。同じ問題に遭遇しましたが、エラーであることが判明しましたsettings.py:
settings.py で使用os.environ[something]し、これらの環境変数は apache 起動スクリプトに読み込まれます。コマンドラインから実行すると、エラーが発生する原因がmanage.pyわからない。os.environ[something]

したがって、ここで解決策を探している人には、実行中のdjangoプロジェクトと純粋なmanage.pyの状況の違いを確認することをお勧めします。おそらく何が問題なのかがわかるでしょう。

于 2014-02-27T09:29:29.360 に答える
0

私が持っていた同じ問題に私の答えを追加します。これは Django のバージョンとは無関係でしたが、私のプロジェクトの古いインスタンスでは、pip からインストールするのではなく、独自の Django のコピーを提供していました。その後、Pip をインストールした Django を使用することにしました。

サーバーで変更をプルしたとき、レポの Django ファイルのコピーは削除されましたが、.pyc ファイルは削除されませんでした。manage.py古い .pyc ファイルを引き続きインポートすると、インポートが途中で中断され、エラーは同じ「不明なコマンド: runserver」でした。

当然、.pyc ファイルを含むフォルダーを完全に削除すると、問題は解決しました。

于 2016-09-05T07:27:52.927 に答える