gpt4 book ai didi

inkscape - 在 Windows 10 inkscape 0.92 中无法识别 libxml

转载 作者:行者123 更新时间:2023-12-03 18:46:51 30 4
gpt4 key购买 nike

Inkscape 提示没有 libxml,所以我为 Windows 10 安装了 lxml。它在修改路径 -> 抖动节点期间再次提示。所以我重新启动了 Inkscape。它仍在提示。有谁知道如何解决这个问题?
提前致谢

错误:
inkex.py 需要用于 libxml2 的奇妙 lxml 包装器,因此需要此扩展程序。请从 http://cheeseshop.python.org/pypi/lxml/ 下载并安装最新版本, 或者通过你的包管理器通过如下命令安装它: sudo apt-get install python-lxml

技术细节:
DLL 加载失败:%1 不是有效的 Win32 应用程序。

最佳答案

我刚刚在 Windows 7 64b 和 InkScape 0.92.2 中遇到了“这个”错误,我想给出一个有点健谈的答案,以阐明这种“奇妙”现象的背景。请注意,错误消息的“技术细节”似乎因不同的人而异 = 它们可能是由不同人的 Windows 系统镜像中出现的不同错误配置或 Inkscape 安装程序中可能出现的不同故障导致的各种潜在问题的主机适用于 Windows 的软件包(各种历史版本)。

首先:请注意,Inkscape 中的一些“外围”内容是作为 Python 脚本或模块实现的——例如文件导入和导出(至少某些格式,我的是 DXF),也许还有内置帮助。这意味着 Inkscape 的这些功能需要 Python 运行时引擎才能工作。

Python 是一种流行的解释性语言,在安装 Inkscape 时,您可能会在 PC 上预先安装 Python(某些版本)的系统范围安装。

无论您的 PC 上是否已经安装了 Python,Inkscape 安装程序都提供与 Inkscape 一起安装 Python(安装程序中的一个选项)。 EXE 安装程序确实包含一个复选标记,不确定 MSI 安装程序变体(我似乎记得 optional 集在 MSI 安装程序变体中并不丰富)。

问题来了:这个由 Inkscape 安装的 Python 运行时并没有在系统范围内安装。相反,它位于 C:\Program Files\Inkscape 中。甚至还有一个 python.exe。

作为比较:标准系统范围的 Python 默认位于 C:\Python27\中。

为了解决“神奇”综合症,一些人建议设置 PYTHONPATH 环境变量(如果需要,系统范围)指向 Inkscape 自己的 Python 库文件夹。就我而言,这对 Inkscape 没有影响,缺少 lxml 的问题仍然存在。同时,它扰乱了我的系统范围的 python 实例——猜猜为什么:-)

我很快意识到,就我而言,“Inkscape 自己的”Python 可能缺少 lxml 库。所以我设置了 PYTHONPATH,启动了具有管理员权限的 CMD,将 CD 放入\Program Files\Inkscape,下载了 get-pip.py 的副本并在 Inkscape Python 环境中运行它。那没有成功安装 pip(IMO 是“pip install lxml”之前的要求)。我不记得确切的错误信息,但它只是没有解决。

接下来,我发现另一种方法是避免在 Inkscape 安装程序中安装 Python,并依赖于系统范围的 Python。我曾经有一些预先存在的 Python 2.7.x,但在我寻找“神奇综合症”时设法卸载了它。所以我也卸载了 Inkscape,删除了我自己对 PYTHONPATH 的定义,并对 Python 和 Inkscape 进行了全新安装。我首先从上游/官方下载站点下载了 Python 2.7.13,点击我希望 PIP 与 Python 一起安装,一旦 Python 在 C:\Python27 中很舒服,我运行“pip install lxml”(以及其他几个库,例如我需要用于 RTL-SDR 扫描仪的 NumPy)。之后,我使用 EXE 安装程序安装了 Inkscape,并确保 Inkscape 自己的 Python 没有在 Inkscape 安装程序中检查安装。

瞧,问题消失了。 Inkscape 调用系统范围的 Python 解释器来运行其文件导出脚本。每个人都很高兴。

除了 PYTHONPATH,请注意 PYTHONHOME 环境变量中的自定义路径(可能是您过去使用 Python 进行的实验遗留下来的)。

有一种方法可以测试是否安装了 lxml:

C:> python
>>> import lxml
>>> lxml
<module 'lxml' from 'C:\Python27\lib\site-packages\lxml\__init__.pyc'>
>>> quit()

另见 this topic显示已安装的 lxml 版本。

关于inkscape - 在 Windows 10 inkscape 0.92 中无法识别 libxml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41771574/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com