• 2018-05-22
ウズマスター戦記
ウズマスター戦記 https://www.uzumax.org/2018/05/djangocommanderror-projectname-is-not.html

Djangoでプロジェクトを作ったら「CommandError: '{ProjectName}' is not a valid project name. Please make sure the name is a valid identifier.」と表示された

前回「Djangoのプロジェクトを作成する」の番外編。 Djangoでプロジェクトを作ったら「CommandError: '{ProjectName}' is not a valid project name. Please make sure the name is a valid identifier.」とか表示されたんですが、何やねん、これ。

原因調査していきます。


エラー発生

元々はプロジェクト作成時にプロジェクト名は「heibon-django」にしようと思ってたんですよ。

入力コマンド

django-admin startproject heibon-django
そしたらエラーメッセージが出てしまいました。

エラーメッセージ

CommandError: 'heibon-django' is not a valid project name. Please make sure the name is a valid identifier.

原因

プロジェクト名にハイフン(-)は使用出来ないようです。
Pythonのメソッド「str.isidentifier()」でプロジェクト名がチェックされて落ちています。

これはDjangoではなくてPythonの問題なようですね。


識別子


「識別子」と言って、Pythonにはクラス、関数、変数などの名前に規約があって、それに違反している名称は禁止なようです。

要約すると、Pythonで使える識別子のルールは以下とのことです。

識別子に使用可能な文字とルール

  • 使用可能な文字は、「アルファベットの大文字、小文字」「アンダースコア・アンダーバー(_)」「半角数字」のみ。
  • 頭に数値を付与してはならない。


だからハイフン(-)や空白スペースはNGになっちゃうみたいです。


予約語

「予約語」と言って、プログラムで使用する特別な文字列はも使用禁止です。

False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass break
except in raise
まあ、ルールさえ分かってしまえば簡単なことですね。

バックナンバー

0 件のコメント:

コメントを投稿

お気軽にコメント下さい。