我已经安装了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'
答案 0 :(得分:26)
更新:从4.4.0开始,BeautifulSoup
与Python 3.5兼容。升级:
pip install --upgrade beautifulsoup4
旧回答:
由于Deprecate strict mode of HTMLParser问题所做的更改:
问题#15114:HTMLParser的严格模式和参数, HTMLParser.error和HTMLParserError异常已被删除。
我担心beautifulSoup4
目前与Python 3.5不兼容。使用Python 3.4。
答案 1 :(得分:20)
更新:BeautifulSoup 4.4.0已经更新为python3.5兼容,所以如果您仍然遇到此问题, public static Bitmap decodeSampledBitmapFromResource(byte[] data,
int reqWidth, int reqHeight) {
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(data, 0, data.length, options);
options.inScaled = true;
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
options.inJustDecodeBounds = false;
Bitmap bmpOriginal = BitmapFactory.decodeByteArray(data, 0, data.length, options);
return toGrayScale(bmpOriginal);
}
应该可以解决问题。
答案 2 :(得分:4)
我已经向作者发送了有关此错误的跟进信息。如果你想在Python 3.5a上安装BeautifulSoup,我已经将源代码的工作补丁上传到了github。
https://github.com/jjangsangy/BeautifulSoup4
您可以使用setup.py
安装它,也可以只复制&amp;将此代码粘贴到终端。
git clone https://github.com/jjangsangy/BeautifulSoup4 \
&& cd BeautifulSoup4 \
&& python3.5 setup.py install
我在这里假设,因为你正在尝试3.5a,你的python解释器安装了site-packages
目录的适当用户权限,所以不需要sudo调用。