トラブルシューティング

このページでは、Django アプリの開発でよく起こるエラーや問題に関するアドバイスを説明してます。

django-admin 実行時の問題

"command not found: django-admin"

pip を使って Django をインストールした場合は、django-admin はシステム実行パスに置かれている必要があります。もしパスにない場合は Python インストールディレクトリの site-packages の中の site-packages/django/bin を探してみてください。 django-admin へのシンボリックリンクをシステム実行パス、たとえば /usr/local/bin などに作成することも検討してください。

もし django-admin が動作せず django-admin.py なら動作するという場合、このドキュメントが説明しているバージョンではない Django を使っている可能性があります。 django-admin は Django 1.7 で導入されました。

macOS のパーミッション

macOSを使用している場合、 `` django-admin`` を実行しようとすると "permission denied" というメッセージが表示されることがあります。 これは、macOS のような UNIX ベースのシステムでは、ファイルをプログラムとして実行する前に、ファイルを "実行可能" とマークする必要があるからです。 これを行うには、Terminal.app を開き、 cd コマンドを使って django-admin がインストールされているディレクトリに移動し、 `` sudo chmod +x django-admin`` コマンドを実行します。

その他

UnicodeDecodeError が発生しました。何を間違えてしまったのでしょうか?

この種のエラーは、非 ASCII シーケンスを含むバイト文字列がUnicode文字列に変換され、指定されたエンコーディングが正しくない場合に発生します。 出力は一般的に次のようになります:

UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)

解決策は主にコンテキストに依存しますが、このエラーを引き起こす2つの一般的な落とし穴には以下のようなものがあります:

  • あなたのシステムロケールは、UNIX ライクなシステム上の "C" ロケールのような、デフォルトの ASCII ロケールであるかもしれません( `` locale`` コマンドで確認できます)。 その場合は、システムのマニュアルを参照して、これを UTF-8 ロケールに変更する方法を確認してください。

関連資料:

Back to Top