I have installed both Python 3.5 and Beautifulsoup4. When I try to import bs4, I get the error below. Is there any fix for that? Or should I just install Python 3.4 instead?
Please be very explicit - I am new to programming. Many thanks!
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'
Update: Starting with 4.4.0, BeautifulSoup
is compatible with Python 3.5. Upgrade:
pip install --upgrade beautifulsoup4
Old answer:
Because of the changes made for Deprecate strict mode of HTMLParser issue:
Issue #15114: the strict mode and argument of HTMLParser,
HTMLParser.error, and the HTMLParserError exception have been removed.
I'm afraid beautifulSoup4
is not compatible with Python 3.5 at the moment. Use Python 3.4.
Update: BeautifulSoup 4.4.0 has been updated to be python3.5 compatible, so a pip install --upgrade beautifulsoup4
should do the trick if you are still hitting this issue.
I've sent the author a followup about this bug. If you want to install BeautifulSoup on Python 3.5a, I've uploaded a working patch of the source code to github.
https://github.com/jjangsangy/BeautifulSoup4
You can install it using setup.py
or just copy & paste this code into terminal.
git clone https://github.com/jjangsangy/BeautifulSoup4 \
&& cd BeautifulSoup4 \
&& python3.5 setup.py install
I'm assuming here that since you're trying out 3.5a your python interpreter is installed with proper user permissions for your site-packages
directory so no sudo invocation is necessary.