Problem

在Python3.9中引入lxml后,调用的etree模块会飘红

Solution1

更新对应版本的lxml:
  1. 可以在官方链接中下载,64位下载amd64,cpxx代表你的Python版本
  2. 下载后更改后缀名.whl为.zip,并解压
  3. 将解压得到的文件拷贝到找到对应版本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模块的解决方法

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐