

IDLEにおいて以下のコードを入力するとエラー？が表示されます。解決策をご教示いただけますでしょうか。

[code]

    from bs4 import BeautifulSoup
    soup = BeautifulSoup(html.centent, "html.parser")
    
[/code]

エラー？

[code]

    Traceback (most recent call last):
      File "/Users/user名/Documents/20210114.py", line 1, in <module>
        from bs4 import BeautifulSoup
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/__init__.py", line 32, in <module>
        from .builder import builder_registry, ParserRejectedMarkup
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/builder/__init__.py", line 7, in <module>
        from bs4.element import (
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/element.py", line 19, in <module>
        from bs4.formatter import (
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/formatter.py", line 1, in <module>
        from bs4.dammit import EntitySubstitution
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/dammit.py", line 13, in <module>
        from html.entities import codepoint2name
      File "/Users/user名/Documents/html.py", line 2, in <module>
        from bs4 import BeautifulSoup
    ImportError: cannot import name 'BeautifulSoup' from partially initialized module 'bs4' (most likely due to a circular import) (/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/__init__.py)
    
[/code]


CC BY-SA 4.0
2021-01-14T12:19:06.003
73297
2021-01-14T21:00:34.327
2021-01-14T16:24:22.637
3060
43535
question
python python3 beautifulsoup python-idle
BeautifulSoup4がImportできない


エラーメッセージの最後の方にある `File "/Users/user名/Documents/html.py", line 2, in from bs4
import BeautifulSoup` が原因では？ 実行しようとしている `File
"/Users/user名/Documents/20210114.py", line 1, in from bs4 import
BeautifulSoup` と同じフォルダに
`BeautifulSoup`でも使っている`html`モジュール？と同じ名前になる`html.py`が存在するため、`BeautifulSoup`が使用したい`html`ではなく、そちらを読み込んでしまってエラーになっているのだと思われます。

`/Users/user名/Documents/`にある`html.py`を別な名前に変更するか、Pythonのモジュール検索パスに含まれない場所に移動してみてください。

同様に何か一般的な名前とか、Pythonの各ライブラリ/パッケージ/モジュールで使われていそうな名前を、スクリプトファイル名や独自のクラス/メソッド/変数の名前に付けるのはやめておいた方が良いでしょう。


CC BY-SA 4.0
2021-01-14T12:44:50.123
73298
2021-01-14T21:00:34.327
2021-01-14T21:00:34.327
26370
26370
73297
answer