【发布时间】:2019-03-17 19:11:55
【问题描述】:
当我在干净的环境中安装带有 conda 的 python-pptx 时遇到了问题: conda install -c conda-forge python-pptx。安装成功后,我尝试导入 pptx 模块并收到以下错误:
>>> import pptx Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\SazonovEO\AppData\Local\Continuum\anaconda3\envs\new\lib\site-p ackages\pptx\__init__.py", line 13, in <module> from pptx.api import Presentation # noqa File "C:\Users\SazonovEO\AppData\Local\Continuum\anaconda3\envs\new\lib\site-p ackages\pptx\api.py", line 17, in <module> from .package import Package File "C:\Users\SazonovEO\AppData\Local\Continuum\anaconda3\envs\new\lib\site-p ackages\pptx\package.py", line 13, in <module> from .opc.package import OpcPackage File "C:\Users\SazonovEO\AppData\Local\Continuum\anaconda3\envs\new\lib\site-p ackages\pptx\opc\package.py", line 13, in <module> from .oxml import CT_Relationships, serialize_part_xml File "C:\Users\SazonovEO\AppData\Local\Continuum\anaconda3\envs\new\lib\site-p ackages\pptx\opc\oxml.py", line 12, in <module> from lxml import etree ImportError: DLL load failed: Не найден указанный модуль.
但是如果我用这样的 pip 安装这个库(python-pptx)(也安装到新的清理环境中):
pip install python-pptx
这行得通。 我有以下版本:python 版本 - 3.7.1、python-pptx-0.6.17、lxml-4.3.0。
你对这个问题有什么想法吗?
【问题讨论】:
-
奇怪,你说你有
lxml,它在python-pptx配方中作为要求,但Python说它找不到它。你能在那个环境中import lxml还是那也失败了?如果您在 Python 中检查sys.path,lxml是否在这些目录之一中? -
lxml是lib2xml和libxslt的 Python 包装器。我相信这些是 Windows 中的 DLL,这可能意味着由于某种原因(可能与 PATH 相关),lxml在 anaconda 环境中无法找到它们。错误消息显示“DLL 加载失败”而不是“没有名为 lxml 的模块”这一事实表明,找到lxml模块并不是最直接的问题。可能值得尝试conda install lxml或任何用于在 anaconda 中重新安装 lxml 的命令,以查看是否可以拾取底层 C 库。这也可能有帮助:github.com/sci-bots/microdrop/issues/246
标签: anaconda lxml conda python-pptx