Мой вопрос может быть не очень кратким. Пожалуйста, прости меня за это, когда я делаю отчаянные попытки решить мою проблему. Иногда я даже звучу как идиот.
Я использую Inkscape v0.92.4 на 32-битном компьютере с Windows 10 Pro.
Проблема возникает, когда я пытаюсь получить доступ к расширению «Диаграмма Вороного» в Inkscape. Как только я нажимаю применить, это возникает:
The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension.Please download and install the latest version from http://cheeseshop.python.org/pypi/lxml/, or install it through your package manager by a command like: sudo apt-get install python-lxml
Technical details:
cannot import name etree
Это может выглядеть как старая, возможно, уже решенная проблема, но похоже, что все шансы сложены против меня.
Попытка 1:
Погуглив проблему, я попал здесь . После этого я попытался добавить и изменить переменную «PYTHONHOME» из параметра «Переменные среды» в разделе «Дополнительные параметры системы» в разделе «Параметры системы» на панели управления. Как и следовало ожидать, не повезло.
Попытка 2:
Второй результат поиска Google привел меня к сайту Stack Overflow . Соответственно, я удалил и Inkscape, и Python, переустановил Python v3.7.3 (хотя парень установил версию Python 2.x), установил оболочку lxml через PIP:
pip install lxml
затем переустановил Inkscape, не снимая флажок «Python 2.x» во время установки.
Похоже, на этот раз они ДЕЙСТВИТЕЛЬНО распознали «lxml wrapper», который я установил, но обнаружили другую ошибку:
Fatal Python error: initfsencoding: unable to load the file system codec
File "F:\Inkscape\python\Lib\encodings\__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Current thread 0x00000940 (most recent call first):
Так что да, опять не повезло.
Попытка 3:
Обдумывая вышеупомянутую ошибку, я предположил, что эта ошибка возникла, потому что Inkscape не поддерживает Python 3.x, поэтому, проводя дополнительные исследования (поиск «совместим ли inkscape с Python 3»), я натолкнулся на другую Статья переполнения стека и я подумал, что проблема чем-то похожа на мою. Тем не менее, я ВСЕ ЕЩЕ не установил Python 2.x и попробовал то же самое, но со ссылкой на интерпретатор Python 3.x. (Я предлагаю вам перейти по ссылке, но если вы спешите, вот что я сделал:
1. Заголовок к C: \ Users \ N \ AppData \ Roaming \ inkscape \ prefereces.xml
2. Поиск группы с идентификатором «расширения» и добавлением «python-interpreter =" C: \ Users \ Sirajuddin \ AppData \ Local \ Programs \ Python \ Python37-32 \ python.exe "')
Не работает (полностью ожидаемый). Затем я попытался создать ссылку на каталог Python в самом каталоге Inkscape (F: \ Inkscape \ python).
Оказывается, на этот раз они вернулись к самой основной проблеме "lxml wrapper required". Поэтому я скопировал две папки из моего каталога Python (C: \ Users \ N \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages) и вставил его в F: \ Inkscape \ python \ Lib \ site -packages. Угадай, что, все равно не повезло.
Попытка 4 (Последняя попытка):
На этот раз я наконец установил Python v2.7.16 (однако я настаивал на том, чтобы сохранить версию Python 3.x, так как именно эту версию я научился кодировать и с которой я работаю). Проделав те же шаги, что и в «Попытке № 3», теперь я связался со своей папкой Python 2.x. Тем не менее, Inkscape снова возвращается к самой основной проблеме «lxml wrapper required». Я тестировал с помощью командной строки, и я мог использовать оба Python 3.x и 2.x отдельно, учитывая, что я ссылаюсь на их соответствующие каталоги. Однако, если я пытаюсь установить lxml wrapper через PIP в каталоге Python 2.x (в надежде установить его снова для Python 2.x), это показывает, что «Требование уже выполнено». В интерпретаторе Python 2.x я проверил, существует ли оболочка lxml:
C:> python
>>> import lxml
и вернулся без ошибок, то есть его там. Однако это не то, что говорит Inkscape (Inkscape по-прежнему говорит, что у меня нет оболочки lxml, даже если я ссылаюсь на каталог Python 2.x). Затем я попытался скопировать две папки для lxml-оболочки из моего каталога Python 3.x и вставить их в мой каталог Python 2.x, но все равно не повезло.
Итак, я вернулся к ссылке Inkscape, приведенной в сообщении об ошибке, и загрузил файл .whl, подходящий для версии Python 2.x, а затем установил pip "lxml-4.3.4-cp27-cp27m-win32.whl "(установить файл pip).Тем не менее, командная строка возвращает с этой ошибкой:
Requirement 'lxml-4.3.4-cp27-cp27m-win32.whl' looks like a filename, but the file does not exist
lxml-4.3.4-cp27-cp27m-win32.whl is not a supported wheel on this platform.
Теперь у меня остается еще один вариант, который я не уверен, будет ли он работать или нет - удалить Python 3.x и 2.x изатем переустановите только Python 2.x, больше похоже на то, что меня заставили покинуть Python 3.x.
Я знаю, что мой вопрос слишком длинный и трудный, но я рассказал все, что пытался всю ночьне спать ни на секунду.Не могли бы вы попытаться найти решение моей проблемы?Я отчаянно нуждаюсь в помощи, так как есть много других расширений и некоторых функций, которые я бы не смог использовать без этого исправления.Я буду вечно благодарен людям, которые попытаются решить мою проблему ценой своего драгоценного времени.
ОБНОВЛЕНИЕ:
- Я удалил python 3.x, установил pip и оболочку lmxl для python 2.x.Все еще не работал.Однако после попыток, предпринятых при попытке 3, если я связываю это с Python Interpreter 2.X, он не показывает сообщение об ошибке.Однако окно «Please Wait» исчезает через 1 секунду после нажатия кнопки «Применить», и ничего не происходит.Так что да, все еще не работает