広告 Python プログラミング

Pythonのモジュールエラー "Module has no attribute"

2022-02-16

Pythonでコードを書いていたところ、datetimeモジュールのdatetime.dateでエラーとなってしまいました。

datetime.date.today()メソッドなどが用意されていて使えるはずなのに、実行するとエラーとなるのです。

単純なミスなのですが、初学者等で陥りやすいと思い記事にします。

mypyのエラー内容としては以下になります。

(module) datetime
Concrete date/time and related types.
See http://www.iana.org/time-zones/repository/tz-link.html for time zone and DST data sources.
Module has no attribute "date" mypy(error)

結論、原因はファイル名にありました。

インポートしているdatetimeと同名のファイル名「datetime.py」としていたのです。

ファイル名を試しに「datetime-test.py」にしたところ問題なく実行することができました。

datetimeに限らず、標準モジュールと同名のファイル名にはしないように注意しましょう。

このブログでは他にもPythonに関する情報を記事にしていますので、合わせてご覧ください。

こちらもCHECK

Poetryのインストール・導入手順を解説!Pythonのパッケージ管理と仮想環境作成

Pythonのパッケージ管理ツールは一般的に『pip』が使われることが多いだろう。 pip freeze でインストールされたパッケージの情報を出力し、requirements.txt にて管理する。 ...

続きを見る

こちらもCHECK

Celery で"SecurityWarning"の警告メッセージを改善する

Celery(セロリ)とは、Pythonでよく利用される分散タスクキューツールです。 非同期タスクを実行するためのフレームワークとして注目されています。 このceleryを使用して dockerからw ...

続きを見る

-Python, プログラミング