【新人の子から学ぶエラーメッセージ】pythonネタ(001)


はじめに

みなさま。こんにちは。
会社で新入社員の子に技術教育を行っているのだけど、時々おやっ?と思うことがあります。
決してバカにするものではなく、こんな仕様知らなかった!と教えていて初めて教わることがあるので、そんな記事を投稿していきたいと思います。

エラーコード

一行ネタ。

bs4.py
from bs4 import BeautifulSoup
Traceback (most recent call last):
  File "bs4.py", line 1, in <module>
    from bs4 import BeautifulSoup
  File "C:\test\bs4.py", line 1, in <module>
    from bs4 import BeautifulSoup
ImportError: cannot import name 'BeautifulSoup' from partially initialized module 'bs4' (most likely due to a circular import) (C:\test\bs4.py)

pipでbs4をインストールして!インストール済みです!

pipは初めてpython触ったとき、python2から3への過渡期だったり、XPから7への乗り換え時期だったりしたので、苦労したので、warningが出ていても無視していたパターンだと思って、とにかく「beautiful soup」が上手くインストールされていないみたいだから、pip listコマンドを送ってみて!と指示。

ん?確かにインストールされている。

原因はファイル名

よくよく見ると、「bs4.py」というファイル名ではないですか・・・
当人いわく、bs4の勉強をしているから、それをファイル名に付けたとのこと。

ふむ。私も実機を見るまで原因に気づかなかった。

確かにfrom bs4 import BeautifulSoupと自分自信からBeautifulSoupを読み込もうとしているからエラーが出ますよね・・・

このエラーは所見だったので、新たな発見ですね。

さいごに

pythonを勉強したばかりの頃は、pythonファイルをSJISで保存し、日本語文字を扱えない!と騒いでいた時期が私にもあったので、こういう経験はどんどん積んでほしいものですね。

参考書のコードの通り打ったのに実行するとエラーが出る!というのは、やっぱり経験しないと得られないものですし