Установка lxml для Python 3.4 в Windows x 86 (32-разрядная версия) с помощью Visual Studio C ++ 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: предупреждение командной строки D9025: переопределение ‘/ W3’ с помощью ‘/ 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: предупреждение пользователя: неизвестно
опция распространения: ‘bugtrack_url’

warnings.warn (MSG)

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

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

регресс

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

Выглядит как Крис делает предоставить прямой exe здесь:

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

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

11

Решение

Я также получил эту проблему, но предложенные выше обходные пути не работают и для меня.

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

  • Win7 64bit
  • python3.3
  • Визуальная студия 2013

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

Тем не менее, в командной строке выдается ошибка с «libxml / xmlversion.h» нет файла или каталога suck

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

  1. загрузка предварительно скомпилированного плагина lxml

    Предварительно скомпилированный lxml 3.5: https://pypi.python.org/pypi/lxml/3.3.5#downloads

    если ваша система 64-битная, то вы можете получить неофициальную версию для x64 здесь: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (это то, что я использую)

  2. установка с помощью команды в командной строке easy_install lxml-3.2.1.win32-py3.3.‌exe

    Ссылка: https://pytools.codeplex.com/workitem/1520

9

Другие решения

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

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

Если у вас есть другие настройки, найдите их ВОТ в соответствии с вашими потребностями. 😉

4

Короткая версия: у вас должна быть библиотека 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Сценарий установки может найти его. Но все свидетельства предполагают, что гораздо более вероятно, что у вас просто нет этого.

2
По вопросам рекламы [email protected]