2013-04-30 4 views
9

Я хочу использовать xpath в python. Я попробовалОшибка использования etree в lxml

import xml.etree.ElementTree as ET 

Поскольку эта библиотека имела ограниченное использование, мне пришлось использовать lxml после долгого сеанса поиска в google. У меня было несколько проблем во время установки, и, наконец, я установил lxml, но когда я использую

from lxml import etree 

он возвращает ошибку, как показано ниже. не могли бы вы рассказать мне решение этой проблемы !!!

Traceback (most recent call last): 
File "<pyshell#0>", line 1, in <module> 
from lxml import etree 
ImportError: DLL load failed: %1 is not a valid Win32 application. 

Может ли кто-нибудь сказать мне, в чем проблема? Спасибо за помощь!

+0

Кажется, что у вас есть сломанная библиотека lxml. Вы пытались переустановить его? –

+0

@BasicWolf Я переустанавливал lxml несколько раз. Я загрузил файл .exe и запустил его. Он завершил установку, но все же он выдает ошибку! – Sangamesh

+2

@BasicWolf Это проблема 32-битных и 64-битных систем? потому что я прочитал в одном ответы, что у него есть проблемы с совместимостью с 64-битными компьютерами ... Эта ошибка все еще существует или есть журналы изменений? спасибо – Sangamesh

ответ

1

Поскольку вы упомянули, что вам нужно сражаться с lxml, чтобы установить его, трудно сказать, где в этом процессе эта ошибка могла возникнуть.

Устанавливаете ли вы lxml для установки по умолчанию Python или где-то еще? Если вы устанавливаете установку по умолчанию, один из вариантов .exe от https://pypi.python.org/pypi/lxml/3.2.0 может быть вашим лучшим выбором. В некоторых случаях мне тоже пришлось сражаться с lxml, но эти .exe-параметры - самый простой способ, который я нашел.

Если вы пытаетесь установить lxml на другую установку Python, я бы предложил использовать файл .egg вместе с инструментами настройки. К сожалению, самые последние .egg-файлы, которые я могу найти для lxml, для 2.3, но вы можете получить их здесь. https://botbot.me/freenode/kivy/

1

У меня такая же проблема. По сути, моя операционная система - 64 бит, а мой питон - тоже 64 бит. Но инструменты и пакеты сайтов, которые я установил, были 32 бит, за исключением Ixml, который был 64 бит. Итак, я установил 32-разрядную версию Ixml из приведенной ниже ссылки, и она отлично работала для меня.

https://pypi.python.org/pypi/lxml/

Я считаю, что система ищет 32 битной реализации Ixml в но он нашел 64 бит вместо. Надеюсь, это решит проблему.

8

Я решил эту проблему путем загрузки 64-разрядной версии LXML здесь:

https://pypi.python.org/pypi/lxml/3.4.1

LXML-3.4.1.win-amd64-py2.7.exe

Это единственный который работал, чтобы решить ошибку win32. Возможно, вам захочется уничтожить старую версию lxml, прежде чем вы это сделаете.

+0

Это была моя проблема в обратном порядке. У меня python 32bit, но был установлен amd64 lxml. Так что просто голова для всех: _install установщик двоичных файлов Windows не проверяет соответствие 32/64 битности. –

1

У меня была та же проблема. Сначала часть Win32 сбивала с толку, так как я запускаю 64-битную систему. Решение, возможно, потому, что фактическая версия python использовала 32-битные компоненты, была просто удалить старую версию lxml и установить 32-битную версию, здесь: https://pypi.python.org/pypi/lxml/3.4.1#downloads

6

Я знаю, что уже поздно это сказать ... Но может помочь кому-нибудь ..

Я использую следующий код, чтобы решить ту же самую проблему здесь

python -m pip uninstall lxml 
python -m pip install lxml==3.6.0 
0

Просто добавив это только в случае, если кто-то в подобной ситуации получить пользу.Хотя мои Python & библиотеки, необходимые для Scrapy, были 32-битной установкой, я все еще сталкивался с этой проблемой. После того, как я обновил свой Python до следующей версии, проблема была решена автоматически.

 Смежные вопросы

  • Нет связанных вопросов^_^