2013-02-14 7 views
11

Pythonパスの何かが変更されている必要があります。Django 1.4未知のコマンド: 'runserver'

python app/manage.py runserver 

私が手出力は、私は私の環境のPYTHONPATHおよびPATH変数を見てきました

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

ですが、私は、その動作していない理由を把握することはできません。

+0

これは本当に奇妙です。あなたはどのOSを使用していますか?私はdjangoを再インストールするように誘惑されています。 –

+0

新しい空のDjangoプロジェクトまたは環境+プロジェクトを作成して、破損をローカライズしてみてください。 – millimoose

+7

"python app/manage.py help"の出力は何ですか? – fsw

答えて

18

私の質問に対する答えが見つかりました。

  • 設定でエラーが発生した場合、manage.pyは例外を飲み込んで、コマンドが存在しないかのように報告します。
  • これは、私のpythonパスまたはvenv環境がうまくいかないと仮定して、間違ってパスしてしまいます。

あなたが実行してこの問題を診断する場合 ...

python app/manage.py help 

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

これは明らかにDjango 1.4のバグです。それは私には、あなたが実行する管理コマンドに関係なく例外を報告する必要があるようです。

+1

'./manage.py check'を使用して、それ以外の場合は表示されないエラーを表示することもできます。 – Nimo

+0

ありがとう:)これも私を助けました! –

+0

Django 1.4 './manage.py check'では動作しません。代わりに './manage.py validate'を使うべきです。 https://docs.djangoproject.com/en/1.4/ref/django-admin/#validate – Zemogle

1

manager.pyコードとdjango.core.managementを見ると、いくつかの提案があります。

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

第二に、実行します。

>>> import sys 
>>> sys.path 

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

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

0

私はOPに同意しました。私は同じ問題を抱え、settings.pyのエラーであることがわかりました。
settings.pyでは私はos.environ[something]を使用しています。これらの環境変数はapache起動スクリプトにロードされています。コマンドラインからmanage.pyを実行すると、os.environ[something]が何であるかわからないため、エラーが発生します。

解決策を探している人は状況差を実行してdjangoプロジェクトとpure manage.pyを実行するかどうかを確認することをお勧めします。

0

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

サーバ上の変更を取得したとき、私のrepoのDjangoファイルのコピーは削除されましたが、.pycファイルは削除されませんでした。manage.pyはインポートファイルを途中で中断させる古い.pycファイルをインポートしますが、エラーは同じ "Unknown command:runserver"でした。

もちろん、.pycファイルを含むフォルダを完全に削除することで問題は解決しました。

関連する問題