Установка lxml для Python 3.4 в Windows x 86 (32 бит) с помощью Visual Studio С++ 2010 Express

Связанные

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

Ответы по теме:

Связанные комментарии:

  • Сборка lxml для Python 2.7 в Windows
  • "@ziyuang Это будет означать, что вы используете Python 3.3, который использует Microsoft Visual Studio 2010. Если это так, то ответ - да, вам следует установить эту версию".

Факты

  • Windows x86 (32-разрядная версия)
  • Установил Visual Studio C++ 2008 (здесь) Express и Visual Studio C++ 2010 (здесь)
  • Python 3.4.1 (очевидно, скомпилированный с более новой версией, чем Visual Studio 2008)
  • Я использую pip (или pip3.4.exe; встроенный в Python 3.4) для pip install lxml
  • distutils использует Visual Studio C++ 2010 Express для компиляции

Последние несколько строк моей ошибки, записанные в pip:

cl: Command line warning D9025: overriding '/W3' with '/w'

lxml.etree.c

C:\Users\НАТАН ~ 1\AppData\Local\Temp\pip_build_nathanielanderson\LXML\SRC\LXML\включает\etree_defs.h(9): фатальная ошибка C1083: Невозможно открыть включаемый файл: 'libxml/xmlversion.h': Нет такого файла или каталога

C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'bugtrack_url'

warnings.warn(msg)

ошибка: команда 'C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.exe 'завершился неудачно с состоянием выхода 2

Поэтому я не могу установить из .egg или скомпилировать...

Другие параметры

Я также не могу найти установщик Windows (exe или msi или любой другой) для этой версии Python

Обновление от 16.10.2009

Как говорит комментатор, исполняемые ссылки больше не доступны

Похоже, Крис предоставляет прямую ссылку здесь:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

Спасибо, Крис! Есть идеи, почему я не могу скомпилировать с помощью pip?

Ответ 1

У меня также возникла проблема, но обходные решения, приведенные выше, также не работают для меня.

Вот моя конфигурация системы:

  • Win7 64bit
  • python3.3
  • visual studio 2013

Я попытался использовать метод в первой ссылке в Связанные вопросы, но он не работает. Этот метод предназначен для создания системной переменной для использования vs2010, и эта переменная фактически копируется из моей первоначальной конфигурации в visual studio 2013.

Однако в командной строке возникла ошибка с "libxml/xmlversion.h" без файла suck или каталога

Затем я продолжил поиск в Интернете и получил метод, который работает в моем случае.

Ответ 2

Если вы используете Python 3.4, это ссылка для скачивания:

Скачать здесь

Если у вас есть другие конфигурации, найдите их ЗДЕСЬ в соответствии с вашими потребностями. ;-)

Ответ 3

Короткий вариант: вам нужно иметь библиотеку C libxml2 (а также libxslt2), прежде чем вы сможете построить lxml.


Как lxml установочные документы говорят:

Если вы не используете статический двоичный дистрибутив (например, из двоичного установщика Windows), вам необходимо установить libxml2 и libxslt, в частности:

  • libxml2 2.6.21 или новее. Его можно найти здесь: http://xmlsoft.org/downloads.html

    • Мы рекомендуем `libxml2 2.7.8 или более позднюю версию.
    • Если вы хотите использовать XPath, не используйте libxml2 2.6.27.
    • Если вы хотите использовать интерфейс парсера фида, особенно при синтаксическом анализе из строк Unicode, не используйте libxml2 с 2.7.4 до 2.7.6.
  • libxslt 1.1.15 или новее. Его можно найти здесь: http://xmlsoft.org/XSLT/downloads.html

    • Мы рекомендуем libxslt 1.1.26 или новее.

строить из исходных документов аналогичным образом начинаются с:

Чтобы создать lxml из источника, вам нужно установить libxml2 и libxslt правильно, включая файлы заголовков.


Windows (в отличие от большинства других платформ) не поставляется с этими библиотеками. Вы не упоминаете ничего в своих "Фактых" о том, чтобы иметь их.


И появившееся сообщение об ошибке:

C:\Users\NATHAN~1\AppData\Local\Temp\pip_build_nathanielanderson\lxml\src\lxml\includes\etree_defs.h(9) : 
fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': 
No such file or directory

То, что 'libxml/xmlversion.h', которое он не может найти, является частью libxml2.


Также стоит отметить, что те же самые инструкции по установке явно говорят:

рассмотрим использование бинарных сборников из PyPI или неофициальных двоичных файлов Windows, которые щедро предоставляет Кристоф Гольке.

Итак, тот факт, что вы считали, что Кристоф Гольке не предоставил двоичные файлы для lxml, подразумевает, что вы не нашли эти документы.


Итак, возможно, что вы установили libxml2, но не так, чтобы lxml2 setup script мог его найти. Но все данные свидетельствуют о том, что у вас его нет.