Как установить lxml на OS X Leopard без использования MacPorts или Fink?
Я пробовал это и часто сталкивался с проблемами в прошлом. У кого-нибудь есть рецепт для установки lxml на OS X без MacPorts или Fink, который определенно работает?
Предпочтительно с полными 1-2-3 шагами для загрузки и построения каждой из зависимостей.
Ответы
Ответ 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
Здесь содержатся предложения от:
Но я хотел скомпилировать его в один ответ, а не оставлять комментарии везде
Ответ 8
Это работало для меня в прошлом установить lxml в osx
Ответ 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]
Ответ 12
Это довольно актуально - март 2009: http://lsimons.wordpress.com/2008/08/31/how-to-install-lxml-python-module-on-mac-os-105-leopard/
Ответ 13
lxml включен в pypm репозиторий:
$ pypm install lxml
Ответ 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.