解决bs4在python中出现“ImportError: cannot import name ‘HTMLParseError‘”错误
在使用BeautifulSoup4时候出现了ImportError: cannot import name 'HTMLParseError'的错误。 根本原因是BeautifulSoup在4.4.0以前的版本不支持Python3.5以上版本。
解决方案有两个:
① 将 BeautifulSoup4 升级到4.4.0版本以上;
② 将 python 版本降低为3.4或者2.7
第二个方案是治标不治本的,因此将BeautifulSoup4升级到4.4.0版本以上才是最优解。
这里提供两种升级BeautifulSoup4的方法:
1、使用pip升级
在管理员权限下使用命令行输入命令“pip install --upgrade beautifulsoup4”
2、使用源码重新安装
卸载原先的BS4=》下载BeautifulSoup4 4.8.0版本=》解压文件=》找到根目录下的setup.py=》以管理员权限打开命令行输入“python setup.py install”
获取BeautifulSoup4 4.8.0版本安装包可以关注公众号“Python人工智能应用 ”,回复 “BS4” 获取BeautifulSoup4 4.8.0版本安装包。

使用pip升级有可能会出现以下错误:
ERROR: Cannot uninstall 'beautifulsoup4'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
错误:无法卸载“beautifulsoup4”。这是一个distutils安装的项目,因此我们不能准确地确定哪些文件属于它,这将导致只部分卸载。可以选择用源代码重新安装的方法。
卸载原先的BS4,可以利用pip uninstall beautifulsoup4 4.3.2进行卸载,如果出现pip升级一样的错误,可以利用物理的方法处理。
第一步:去D:\ProgramData\Python\Lib\site-packages目录下把BS4库的所有文件都删除,再执行beautifulsoup4 4.3.2命令

第二步:解压beautifulsoup4-4.8.0.tar.gz文件,进入beautifulsoup4-4.8.0文件夹,再重新安装python setup.py install

第三步:完成beautifulsoup4-4.8.0的安装

解决bs4在python中出现“ImportError: cannot import name ‘HTMLParseError‘”错误的更多相关文章
- Python中循环引用(import)失败的解决方法
原文链接:http://blog.ihuxu.com/the-solution-to-the-problem-of-circular-import-in-python/ 我是采用方案三 "将 ...
- Python 中包/模块的 `import` 操作
版权声明:博客为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/10745292.html 用实例来说明 import 的作用吧. 创建 ...
- 解决windows下 Python中 matplotlib 做图中文不显示的问题
在代码中填入以下两句即可 from pylab import mpl mpl.rcParams['font.sans-serif'] = [font_name] 如:mpl.rcParams['fon ...
- Python中解码decode()与编码encode()与错误处理UnicodeDecodeError: 'gbk' codec can't decode byte 0xab
编码方法encoding() 描述 encode() 方法以指定的编码格式编码字符串,默认编码为 'utf-8'.将字符串由string类型变成bytes类型. 对应的解码方法:bytes decod ...
- Python中from scipy.misc import imread报错的原因?
from scipy.misc import imread 报错 查询后其原因是from scipy.misc import imread,imwrite 等方法已经被弃用,Python已经将imre ...
- python中库引用与import
在蟒蛇绘制函数中,多有turtle. ,称它为<a>.<b>的编码风格 库引用 扩充python程序功能的方式 使用import保留字完成,采用<a>.< ...
- python中导入from appium import webdriver时报错:ModuleNotFoundError: No module named 'appium'
1.检查一下有没有安装Appium-Python-Client,执行语句:pip install Appium-Python-Client进行安装 2.安装后,出现ModuleNotFoundErro ...
- python中如何优雅使用import
http://note.youdao.com/noteshare?id=c55be6a8565f5eb586aa52244b3af010
- Python3创建项目时创建了一个叫做“keyword"的包,运行项目时报ImportError: cannot import name 'iskeyword'错误
导致该问题的原因为在Python3中keyword是python的关键字包,所以在给包命名时应避免使用关键字进行命名.解决方法,将keword包名称修改为'keywords'就可以了.
随机推荐
- Flink-v1.12官方网站翻译-P026-State Backends
状态后台 Flink提供了不同的状态后端,指定状态的存储方式和位置. 状态可以位于Java的堆上或离堆.根据你的状态后端,Flink还可以为应用程序管理状态,这意味着Flink处理内存管理(必要时可能 ...
- 在.NetCore(C#)中使用ODP.NET Core+Dapper操作Oracle数据库
前言 虽然一直在说"去IOE化",但是在国企和政府,Oracle的历史包袱实在太重了,甚至很多业务逻辑都是写在Oracle的各种存储过程里面实现的-- 我们的系统主要的技术栈是Dj ...
- 2019ICPC南昌站
ICPC比CCPC场面要更大的感觉,这是我的第一印象. 这场比赛教练和我们一起去的,有教练陪着也挺好的,一起吃了吃饭.后来我们吃饭就发现江西这边辣就只是辣,没啥味道,不过拌粉还是可以的.还有江西师范大 ...
- 【uva 1151】Buy or Build(图论--最小生成树+二进制枚举状态)
题意:平面上有N个点(1≤N≤1000),若要新建边,费用是2点的欧几里德距离的平方.另外还有Q个套餐,每个套餐里的点互相联通,总费用为Ci.问让所有N个点连通的最小费用.(2组数据的输出之间要求有换 ...
- hdu4028 The time of a day (map+dp)
Problem Description There are no days and nights on byte island, so the residents here can hardly de ...
- hdu3564 Another LIS
Problem Description There is a sequence firstly empty. We begin to add number from 1 to N to the seq ...
- hdu2818 Building Block
Problem Description John are playing with blocks. There are N blocks (1 <= N <= 30000) numbere ...
- 用servlet在网页中打印字符串(初接触)、servlet调用过程
一.servlet是什么: 二.在官方文档中点servlet 这就是servlet的方法,这里说一下什么叫生命周期的方法(life-cycle methods):就是这个对象一旦创生之后一定会执行的方 ...
- 洛谷 P6225 [eJOI2019]异或橙子 (树状数组)
题意:有\(n\)个数,起始值均为\(0\),进行\(q\)次操作,每次输入三个数,如果第一个数为\(1\),则将第\(i\)个数修改为\(j\),如果为\(2\),则求区间\([l,r]\)内的所有 ...
- Distinct Substrings SPOJ - DISUBSTR 后缀数组
Given a string, we need to find the total number of its distinct substrings. Input T- number of test ...