几乎每个 Inkscape 扩展在 Mac OS X 中都会出错

几乎每个 Inkscape 扩展在 Mac OS X 中都会出错

我运行了 Inkscape 的最新几个版本(目前为“0.47+devel”),但扩展菜单一直有问题。到目前为止,在我尝试过的每个版本的 Inkscape 中,几乎每个扩展都会产生以下错误:

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

当然,我尝试了那里列出的说明,但没有效果。我还在论坛、错误跟踪器等中发现了很多关于此问题的参考资料,因此也尝试了:

sudo easy_install lxml
cd /Applications/Inkscape.app/Contents/Resources/lib
mv libxml2.2.dylib libxml2.2.dylib.old
ln -s /usr/lib/libxml2.dylib

以及一些类似的解决方案。但这些都没有对 Inkscape 的行为产生任何影响。

有人知道 A) 这里到底发生了什么吗?因为据我所知,错误并没有描述实际问题。当然还有 B) 一个简单的解决方案?我需要这些功能!:)

答案1

我遇到了这个问题,并设法通过外部安装 lxml 来解决它(我推测这就是你的easy_install lxml命令所做的,尽管我用sudo port install py26-lxml它来解决了)。

然后我进入

/Applications/Inkscape.app/Contents/Resources/python/site-packages/i386

这里有几个目录,每个 Python 版本一个,每个目录都包含一个 lxml 副本。我重命名了这些目录,重新启动了 inkscape,扩展开始工作了。

因此

sudo port install py26-lxml
cd /Applications/Inkscape.app/Contents/Resources/python/site-packages/i386
mv 2.3/lxml 2.3/_lxml
mv 2.4/lxml 2.4/_lxml
mv 2.5/lxml 2.5/_lxml
mv 2.6/lxml 2.6/_lxml

对我有用。

答案2

对我来说(Lion 上的 Inkscape 0.48),似乎没有什么帮助,但是这个确实有帮助:
https://answers.launchpad.net/inkscape/+question/194132#comment-6
这很简单,只需在 Inkscape 启动脚本中插入一行即可。
我从某处读到,该问题将在 Inkscape 0.48.3 中得到修复。

答案3

我已经通过 homebrew 安装了 Inkscape,因此这可能无法与网站二进制文件一起使用,请查看这里寻找可能的解决方案。

TL;DR 修复:确保您使用的是 Python 的系统版本,通过运行进行检查

which python
❯ /usr/bin/python

如果尚未安装,请安装 Python 包管理器 pip

sudo easy_install pip

使用 pip 将 libxml 安装到你的系统 python 中

sudo pip install lxml
❯ Collecting lxml…

鳍。

基本上,问题在于 Inkscape 被硬编码为使用系统 Python 构建,以避免与其他 Python 构建发生冲突。但我推测在 OSX 的最新更新中,他们已从系统构建中删除了 libxml 库。

首先,我必须删除我的自制 python 安装,它与系统版本相同(2.7.10),因此没有损失。其次,我需要使用以下方法将 pip 安装到系统 python 中

❯ sudo easy_install pip

最后,我将 libxml 安装到系统 python 安装中

❯ sudo pip install lxml

答案4

我能找到的最简单的方法是:

  1. 安装 homebrewhttp://mxcl.github.io/homebrew/,运行brew doctor,根据需要修复,brew update以及brew upgrade
  2. 通过 homebrew 安装 inkscape:brew install inkscape

它处理一切。然后您可以通过命令行加载 Inkscape 或链接到您的应用程序文件夹。在 Mountain Lion 上运行,但未在裸机安装上测试。请注意,我还通过 homebrew/pip 安装了 python 和相关包,这可能有所帮助。

相关内容