bs4解析网页时 bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml

Python小白,学习时候用到bs4解析网站,报错

bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

几经周折才知道是bs4调用了python自带的html解析器,我用的mac,默认安装的是python2,所以内置的解释器也是捆绑在python2上,而我学习的时候又自己安装了python3,开发环境也是python3的,貌似是没有html解释器,所以会报错。
问题找到了,那么怎么解决呢?对,在python3也装一个html解析器就好了,那么怎么安装呢?查阅资料获悉:一般pip和pip2对应的是python2.x,pip3对应的是python3.x的版本,python2和python3的模块是独立的,不能混用,混用会出问题。所以命令行通过python3的pip:pip3 安装解析器:

$ pip3 install lxml

3.8M,稍等片刻即可
再次运行项目,完美解决,特此记录

说的直白点就是你的开发环境下下载的包里不存在你需要的lxml,比如说你用的是py2,但是把包装到了py3的包路径下,当然就找不到了,反之亦然。那么就检查一下当前的开发环境是用的Python版本和对应的Python版本下的Packages目录下有没有你需要的包,如果没有就安装一个。就是这么简单。

$ pip3(如果是py2就用pip) show lxml

如果已经安装了就会显示包的位置及信息,没有则会报错,执行上一步安装操作即可

你可能感兴趣的:(bs4解析网页时 bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml)