Problem:
在Python3.9中引入lxml后,调用的etree模块会飘红
Solution1:
更新对应版本的lxml:
- 可以在官方链接中下载,64位下载amd64,cpxx代表你的Python版本
- 下载后更改后缀名.whl为.zip,并解压
- 将解压得到的文件拷贝到找到对应版本Python文件夹的Lib目录下即可
或者采用代码在Pycharm下方的Terminal中输入
pip install lxml # 安装最新版本
pip install lxml==版本号 # 安装对应版本
网络不好时可改用镜像网站
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lxml
等待安装完成后重新启动即可
Solution2:
改变调用方法:
将from lxml import etree 改为from lxml import html 将etree 改为html.etree
from lxml import html
etree = html.etree
html.etree.HTML("text")
此时程序可正常使用
若出现ImportError: DLL load failed while importing etree: 找不到指定的程序。 此类问题,可能是安装Python过程出了问题,或者电脑本身少了一些必要dll文件
下载 Dependency Walker 工具的对应版本:链接 Download Version 2.2.6000 for x64 [468k] 将 Python\Lib\lxml 文件目录下的etree.cpxx-win_amd64.pyd 文件拖拽到Dependency Walker 程序中检测,等待一段时间 程序会检测出电脑所缺少的文件,复制对应的文件名称下载即可
若丢失的文件过多也可以下载微软常用运行库安装大部分缺失文件
到此,若还未能实现所需功能,请向电脑屈服,并安装对应低版本Python并安装对应的库
参考文章:
[Python] ImportError: DLL load failed … 找不到指定的模块 此类问题解决方法 Python爬虫:lxml包没有etree模块的解决方法
|