4

Я запустил несколько последних версий Inkscape (в настоящее время установлен на «0.47+devel»), и у меня возникли проблемы с меню «Расширения». До сих пор в каждой версии Inkscape, которую я пробовал, почти каждое расширение выдает следующую ошибку:

Inkex.py и, следовательно, это расширение требует фантастической оболочки lxml для libxml2. Загрузите и установите последнюю версию с 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.

Кто-нибудь знает А) что на самом деле здесь происходит? Потому что из того, что я понял, ошибка не описывает реальную проблему. И конечно Б) простое решение? Мне нужны эти функции! :)

4 ответа4

5

Мне (Inkscape 0.48 на Lion) ничего не помогло, но это помогло:
https://answers.launchpad.net/inkscape/+question/194132#comment-6
Это довольно просто, просто вставив строку в скрипт запуска Inkscape.
Я где-то читал, что проблема будет решена с Inkscape 0.48.3.

3

У меня была эта проблема, и мне удалось избавиться от нее, установив 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

Я установил Inkscape через homebrew, так что это может не работать с бинарными файлами сайта, ищите здесь возможное решение.

TL; DR fix: убедитесь, что вы используете системную версию python, проверьте, запустив

which python
❯ /usr/bin/python

Установите пакет менеджера пакетов Python, если он еще не установлен

sudo easy_install pip
❯

Используйте pip для установки libxml в ваш системный питон

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
0

Самый простой способ, который я мог найти, это:

  1. Установите homebrew http://mxcl.github.io/homebrew/, запустите brew doctor , исправьте при необходимости, brew update brew upgrade
  2. Установить inkscape через homebrew: brew install inkscape

Это обрабатывает все. Затем вы можете либо загрузить Inkscape через командную строку, либо сделать ссылку на папку ваших приложений. Работает на Mountain Lion, но не тестируется на голой установке. Обратите внимание, что у меня также есть Python и связанные с ним пакеты, установленные через homebrew/pip, которые, возможно, помогли.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .