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应用程序。
TL; DR卸载所有版本的Inkscape并重新安装0.92为我解决了这个问题。
详细:Windows 10,与0.92版相同的问题。任何时候我都会使用Generate From Path功能,它会抛出python错误。
我有一个更简单的案例,其中Python尚未安装,但Inkscape 0.91是。显然,安装新版本并没有卸载旧版本,因此我的机器安装了0.91和0.92。
所以我卸载了两个版本,保留了我的用户首选项,重新安装了0.92。
之后一切都很完美。
我刚刚在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版本的显示。
我升级到Inkscape 0.92但仍然出错。一旦我在我的env vars中取消了PYTHONPATH,它就能正常工作。
在我的情况下,当我安装inkscape时,我已经在我的计算机上安装了python,所以我在安装过程中取消选中它的选项。我认为因为这个原因,它无法检查依赖性。因此,我从具有管理权限的命令行手动安装lxml:
pip install lxml