【Python】パッケージの名前でエラーになり、ハマった

Python

 

先日、Pythonの学習をしていてパッケージを作成しました。

読み込む際にエラーになり、ハマったので自分へのメモとして残しておきます

初心者はハマりやすい部分かなと思うので、そういった方はぜひお読みください

 

エラーの内容

 

 

SyntaxErrorなので、パッケージの名前がよろしくないのだろうけど、
_(アンダースコア)って使えなかったっけ???

 

ちなみにディレクトリ構成は以下です

dir
  L  sample.py (今回実行したファイル)
  L  02_lesson_package
    L  __init__.py
    L  utils.py

 

使用したコード

sample.py(実行したファイル

utils.py(使用したモジュール

 

う~~ん、ちゃんと読み込めてそうだけど、ファイルの命名規則を調べてみるか。

 

識別子の命名規則

 

Pythonで識別子(変数、関数、クラスなどの名前)としてざっくり2つのルールがあるらしい

  1. 大文字小文字のアルファベットと数字、アンダースコアが使える
  2. 先頭(一文字目)に数字は使えない

今回は「02_lesson_package」と先頭に数字を使ったパッケージだったため、エラー!

 

厳密な命名規則は下記の記事を参考にしてみてください

Pythonで識別子(変数名など)として有効・無効な名前、命名規則 | note.nkmk.me
Pythonにおいて、識別子(変数、関数、クラスなどの名前)はルールに従って決める必要がある。ルールに沿わない名前は識別子として使えずエラーとなる。2. 字句解析 - 識別子 (identifier) およびキーワード (keyword) — Python 3.11.3 ドキュメント 識別子(名前)で使える文字・使えな...
識別子(変数名や関数名など)の命名ガイドライン

 

パッケージの名前を修正して再度実行

 

02_lesson_package」->「lesson_package」に修正し、再度実行

 

 

エラーが出ないようになった!!!

 

 

コメント

タイトルとURLをコピーしました