はじめに
みなさま。こんにちは。
会社で新入社員の子に技術教育を行っているのだけど、時々おやっ?と思うことがあります。
決してバカにするものではなく、こんな仕様知らなかった!と教えていて初めて教わることがあるので、そんな記事を投稿していきたいと思います。
エラーコード
一行ネタ。
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で保存し、日本語文字を扱えない!と騒いでいた時期が私にもあったので、こういう経験はどんどん積んでほしいものですね。
参考書のコードの通り打ったのに実行するとエラーが出る!というのは、やっぱり経験しないと得られないものですし