Как установить lxml на OS X Leopard без использования MacPorts или Fink? - программирование
Подтвердить что ты не робот

Как установить lxml на OS X Leopard без использования MacPorts или Fink?

Я пробовал это и часто сталкивался с проблемами в прошлом. У кого-нибудь есть рецепт для установки lxml на OS X без MacPorts или Fink, который определенно работает?

Предпочтительно с полными 1-2-3 шагами для загрузки и построения каждой из зависимостей.

4b9b3361

Ответ 1

Благодаря @jessenoller в Twitter у меня есть ответ, который соответствует моим потребностям - вы можете скомпилировать lxml со статическими зависимостями, поэтому избегайте возиться с libxml2, который поставляется с OS X. Вот что сработало для меня:

cd /tmp
curl -O http://lxml.de/files/lxml-3.6.0.tgz
tar -xzvf lxml-3.6.0.tgz 
cd lxml-3.6.0
python setup.py build --static-deps --libxml2-version=2.7.3  --libxslt-version=1.1.24 
sudo python setup.py install

Ответ 2

Это сработало для меня (10.6.8):

sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml

Ответ 3

У меня была отличная удача с Homebrew, чтобы установить зависимость libxml2:

brew install libxml2

У Homebrew, похоже, нет libxslt, но мне еще не нужна XSLT. YMMV.

Как только у вас есть зависимость (-ы), тогда обычные методы работают просто отлично:

pip install lxml

или

easy_install lxml

Ответ 4

Easy_install может работать с этим:

STATIC_DEPS = true easy_install 'lxml >= 2.2beta4'

вам может потребоваться выполнить, в зависимости от разрешений;

STATIC_DEPS = true sudo easy_install 'lxml >= 2.2beta4'

см http://muffinresearch.co.uk/archives/2009/03/05/install-lxml-on-osx/

Ответ 5

с использованием доморощенного (0.9.5) на эль-капитане (10.11.1) для меня работало следующее:

brew install libxml2
LD_FLAGS=-L/usr/local/opt/libxml2/lib CPPFLAGS=-I/usr/local/opt/libxml2/include/libxml2 pip install lxml

Ответ 6

В OS X 10.9.1 предлагаемый ответ выше ошибок во время установки - должны были быть сделаны следующие изменения:

cd /tmp  
curl -o lxml-3.3.0.tgz http://lxml.de/files/lxml-3.3.0.tgz  
tar -xzvf lxml-3.3.0.tgz  
cd lxml-3.3.0  
python setup.py build --static-deps --libxml2-version=2.8.0  --libxslt-version=1.1.24  
sudo python setup.py install  

Ответ 7

Это работало для меня на 10.8.5

  • Установить Xcode из Mac App Store
  • Xcode → Настройки → Загрузки → Инструменты командной строки
  • Установить доморощенный с помощью
  • ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
  • brew install libxml2
  • sudo easy_install lxml

Здесь содержатся предложения от:

Но я хотел скомпилировать его в один ответ, а не оставлять комментарии везде

Ответ 9

Я отлично справился с Snow Lepoard, но после того, как я перешел на Lion, мне пришлось символизировать gcc-4.2 до gcc. Запуск sudo env ARCHFLAGS = "- arch i386 -arch x86_64" easy_install lxml искал gcc-4.2 вместо gcc.

Ответ 10

Я использую OSX 10.11 El Capitan и Homebrew. Использование pip install lxml даст мне "фатальную ошибку:" libxml/xmlversion.h "файл не найден" и "не удалось с кодом ошибки 1" blah blah.

В соответствии с официальным сайтом, я должен использовать STATIC_DEPS=true pip install lxml (добавьте sudo до pip, если вам это нужно), и это решило мою проблему.

Я запускал brew install libxml2 и brew install libxslt для установки зависимостей во время устранения неполадок. Я не уверен, нужны ли эти две команды.

Ответ 11

Попробуйте установить Cython и установить из источника, easy_install не работает. Я еще не пробовал на моем mac, хотя.

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

info py25-lxml py25-lxml @2.1.5 (python, devel)

lxml является связыванием Pythonic для библиотек libxml2 и libxslt. Он уникален в том, что он сочетает в себе скорость и полноту функций этих библиотек с простота родного API Python, в основном совместимая, но превосходящая известный API ElementTree. Домашняя страница: http://codespeak.net/lxml/

Зависимости библиотек: python25, libxml2, libxslt, py25-hashlib, py25-setuptools,                     py25-Zlib Платформы: darwin Руководители: [email protected] [email protected]

Ответ 14

Для установки с обновленными версиями libxml2 и libxslt:

ARCHFLAGS="-arch i386 -arch x86_64" STATIC_DEPS=true pip install lxml

Для установки с конкретными версиями библиотек:

ARCHFLAGS="-arch i386 -arch x86_64" STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml

CentOS 64 бит (вопрос немного, но трудно выиграл):

CFLAGS=-fPIC STATIC_DEPS=true pip install lxml

или

CFLAGS=-fPIC STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml

Ответ 15

Много боли пошло на это для устаревшего 10.6.8 os x, но здесь он идет для всех, кто работает с Snow Leopard!

Сначала вам нужно установить другую версию libxml2 из homebrew и установить --with-python. Вы можете сделать это, введя следующие команды.

brew update
brew edit libxml2

Затем найдите строку с надписью "--without-python" и измените на "--with-python".

system "./configure", "--disable-dependency-tracking",
                      "--prefix=#{prefix}",
                      "--with-python"

Теперь вы можете установить libxml2.

brew install libxml2

Далее проверьте новую установку libxml2 в исходном местоположении по умолчанию. Вы хотите найти конфигурацию libxml2.

ВАШИ МОГУТ БЫТЬ РАЗЛИЧНЫМИ:

"/USR/локальные/Подвал/libxml2/VERSION_/bin/xml2-конфигурации"

Теперь используйте следующую команду для установки lxml с помощью pip, используя недавно установленную конфигурацию libxml2, а не версию Mac OS X.

ARCHFLAGS="-arch i386 -arch x86_64" pip install lxml --install-option="--with-xml2-config=/usr/local/Cellar/libxml2/2.9.1/bin/xml2-config"

Работала для меня на моем 10.6.8 Python 2.6. Благодарю.

Кредит идет на эту страницу для показа мне pip -install-option...

http://natanyellin.com/page/4/

Ответ 16

Я скомпилирую его в /usr/local без каких-либо проблем.

Установите Python, libxml2, libxslt и затем lxml. Возможно, вам понадобится setuptools.