libxml在Windows 10 inkscape 0.92中无法识别

时间:2017-01-20 20:09:06

标签: inkscape

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

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

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

4 个答案:

答案 0 :(得分:3)

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

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

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

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

之后一切都很完美。

答案 1 :(得分:2)

我刚刚遇到了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版本。

答案 2 :(得分:0)

我已升级到Inkscape 0.92,但仍然出现错误。 在我的环境变量中取消设置PYTHONPATH后,它就可以正常工作。

答案 3 :(得分:0)

就我而言,安装inkscape时我的计算机上已经安装了python,因此在安装过程中未选中它的选项。我认为因为这个原因,它无法检查依赖项。因此,我从具有管理权限的命令行手动安装了lxml:

pip install lxml