我运行了 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
我能找到的最简单的方法是:
- 安装 homebrewhttp://mxcl.github.io/homebrew/,运行
brew doctor
,根据需要修复,brew update
以及brew upgrade
- 通过 homebrew 安装 inkscape:
brew install inkscape
它处理一切。然后您可以通过命令行加载 Inkscape 或链接到您的应用程序文件夹。在 Mountain Lion 上运行,但未在裸机安装上测试。请注意,我还通过 homebrew/pip 安装了 python 和相关包,这可能有所帮助。