![](/img/trans.png)
[英]lxml - ImportError: DLL load failed: The specified procedure could not be found
[英]from lxml import etree ImportError: DLL load failed: The specified module could not be found
我最近安装了一个新的 Anaconda 版本 2019-10,它使用 python 3.7.4。 为了能够从 Python 中读取/写入 MsWord.docx 文件,我使用库模块 python-docx,我安装了它: conda install -c conda-forge python-docx
安装的是 python-docx 0.8.10。 现在是一个 python 脚本,我经常用我以前的 anaconda 安装(我不知道 python3.5.4 和 python-docx 版本)读取/写入 MsWord.docx 文件。
脚本:(缩短)
import docx
doc = docx.Document('demo.docx') # demo.docx exists in same dir
print(len(doc.paragraphs))
突然抛出一个错误:
回溯(最近一次通话最后):
File "D:\pa\Python\ProjectsWorkspace\Py001Proj\src\printenfrompython\wordprinten.py", line 19, in <module>
import docx
File "C:\Users\pa\Anaconda3\lib\site-packages\docx\__init__.py", line 3, in <module>
from docx.api import Document # noqa
File "C:\Users\pa\Anaconda3\lib\site-packages\docx\api.py", line 14, in <module>
from docx.package import Package
File "C:\Users\pa\Anaconda3\lib\site-packages\docx\package.py", line 9, in <module>
from docx.opc.package import OpcPackage
File "C:\Users\pa\Anaconda3\lib\site-packages\docx\opc\package.py", line 9, in <module>
from docx.opc.part import PartFactory
File "C:\Users\pa\Anaconda3\lib\site-packages\docx\opc\part.py", line 12, in <module>
from .oxml import serialize_part_xml
File "C:\Users\pa\Anaconda3\lib\site-packages\docx\opc\oxml.py", line 12, in <module>
from lxml import etree
ImportError: DLL load failed: The specified module could not be found.
这个问题有解决方案吗? 我不能 go 回到我以前的安装!
今天我在我的普通 python3.7.5 安装中安装了 python-docx,使用:'pip install python-docx` 现在上述错误不会发生。 用 pip 重新安装 Anaconda 并在 anaconda 中重新安装 python-docx 并出现与上述相同的错误。 我的操作系统是windows10。 我在两种情况下都使用 Eclipse\PyDev 运行测试,并在 python3.7.5 和 anaconda python3.7.4 解释器之间切换 PyDev。
conda 版本:4.9.2(安装在系统中)尝试运行:
scrapy startproject name_of_project
错误:
ImportError: DLL load failed while importing etree: The specified module could not be found.
解决方案:
第一步:pip卸载lxml
第 2 步:pip 安装 lxml
错误已解决
New Scrapy project 'tutorial', using template directory 'C:\Users\New\miniconda3\lib\site-packages\scrapy\templates\project', created in:
C:\Users\New\Documents\TOUR_TOC++\web_scraping\NSE\tutorial
You can start your first spider with:
cd tutorial
scrapy genspider example example.com ...
解决了! . 在尝试重新安装 lxml==4.1.1 package 期间,错误日志报告了许多错误,其中包含解决方案的提示。
所以在构建 lxml.etree 时可能会出现问题,因为正确的 Visual C++ 编译器不可用。 This appears to be confirmed in an article of Michael Hirsch dated 21 September, 2019 titled “Fix Python 3 on Windows error: Microsoft Visual C++ 14.0 is required” , see https://www.scivision.dev/python-windows-visual- c-14-需要/
根据他的建议,我使用离线安装程序安装了 Microsoft Visual C++ 14.0:vs_buildtools.exe Select:工作负载 → C++ 构建工具。 安装选项:select 只有“Windows 10 SDK”(假设电脑是 Windows 10)。 要从命令行使用 MSVC cl.exe C / C++ 编译器,另外还有 select ZF6F877C9FDCF8EEB3713 工具。
然后我安装了libxml2和lxml,解决了这个问题:
try:
from lxml import etree
print("running with lxml.etree !")
except ImportError:
print("Import etree from lxml failed !"
> 使用 lxml.etree 运行!
最简单的解决方案是(上面已经提供): 第 1 步:pip 卸载 lxml 第 2 步:pip 安装 lxml
但是,在通过 lxml-4.6.3.tar.gz 重新安装 lxml 时,我遇到了问题。 于是,我尝试通过对应的.whl文件重新安装,成功了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.