web-dev-qa-db-ja.com

bs4のインポートPython 3.5

Python 3.5とBeautifulsoup4の両方をインストールしました。bs4をインポートしようとすると、以下のエラーが表示されます。それに対する修正はありますか?またはPython 3.4代わりに?非常に明確にしてください-私はプログラミングが初めてです。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python 3.5\lib\sit-packages\bs4\__init__.py", line 30, in    <module>
   from .builder import builder_registry, ParserRejectionMarkup
  File "C:\Python 3.5\lib\sit-packages\bs4\__init__.py", line 308, in <module>
   from . import _htmlparser
  File "C:\Python 3.5\lib\sit-packages\bs4\_htmlparser.py", line 7, in <module>
   from html.parser import ( 
ImportError: cannot import name 'HTMLParseError'
15
anne_t

更新:4.4.0以降、BeautifulSoupはPython 3.5と互換性があります。アップグレード:

pip install --upgrade beautifulsoup4

古い答え:

HTMLParserのストリクトモードを非推奨 に変更が加えられたため:

問題#15114:HTMLParser、HTMLParser.error、およびHTMLParserError例外の厳密なモードと引数が削除されました。

私は怖いです beautifulSoup4は、現在のところPython 3.5と互換性がありません。Python 3.4。

26
alecxe

更新:BeautifulSoup 4.4.0はpython3.5互換になるように更新されたため、pip install --upgrade beautifulsoup4は、まだこの問題が発生している場合にトリックを行う必要があります。

19
AnilRedshift

著者にこのバグについてのフォローアップを送りました。 BeautifulSoupをPython 3.5aにインストールする場合、ソースコードの作業用パッチをgithubにアップロードしました。

https://github.com/jjangsangy/BeautifulSoup4

setup.pyを使用してインストールするか、このコードをコピーして端末に貼り付けます。

git clone https://github.com/jjangsangy/BeautifulSoup4 \
    && cd BeautifulSoup4 \
    && python3.5 setup.py install

ここでは、3.5aを試しているので、pythonインタープリターがsite-packagesディレクトリに対する適切なユーザー権限でインストールされているため、Sudo呼び出しは不要であると想定しています。

4
user2931216