libxml在Windows 10 inkscape 0.92中无法识别

问题描述 投票:2回答:4

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

错误:inxx.py需要libxml2的精彩lxml包装器,因此需要此扩展。请从http://cheeseshop.python.org/pypi/lxml/下载并安装最新版本,或者通过以下命令通过包管理器安装它:sudo apt-get install python-lxml

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

inkscape
4个回答
4
投票

TL; DR卸载所有版本的Inkscape并重新安装0.92为我解决了这个问题。

详细:Windows 10,与0.92版相同的问题。任何时候我都会使用Generate From Path功能,它会抛出python错误。

我有一个更简单的案例,其中Python尚未安装,但Inkscape 0.91是。显然,安装新版本并没有卸载旧版本,因此我的机器安装了0.91和0.92。

所以我卸载了两个版本,保留了我的用户首选项,重新安装了0.92。

之后一切都很完美。


3
投票

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

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

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

无论您的PC上是否已经安装了Python,Inkscape安装程序都可以安装Python和Inkscape(安装程序中的一个选项)。 EXE安装程序肯定包含一个复选标记,不确定MSI安装程序变体(我似乎记得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(在“pip install lxml”之前IMO是一个要求)。我不记得确切的错误信息,但它没有成功。

接下来,我发现另一种方法是避免在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安装程序中未检查Inkscape自己的Python安装。

瞧,问题一去不复返了。 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版本的显示。


0
投票

我升级到Inkscape 0.92但仍然出错。一旦我在我的env vars中取消了PYTHONPATH,它就能正常工作。


0
投票

在我的情况下,当我安装inkscape时,我已经在我的计算机上安装了python,所以我在安装过程中取消选中它的选项。我认为因为这个原因,它无法检查依赖性。因此,我从具有管理权限的命令行手动安装lxml:

pip install lxml
© www.soinside.com 2019 - 2024. All rights reserved.