トラブルシューティング¶
このページでは、Django アプリの開発でよく起こるエラーや問題に関するアドバイスを説明してます。
django-admin
実行時の問題¶
"command not found: django-admin"¶
python setup.py
を使って 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 ロケールに変更する方法を確認してください。
関連資料: