Как установить lxml в Mac OS X 10.7.4? Я исчерпал все варианты

Пробовал разные пути, но безрезультатно. Я использую MBP с 10.7.4. Я не помню, когда в последний раз у меня было так много проблем с установкой чего-либо с Python на мой Mac. Пожалуйста, помогите мне использовать lxml на моем локальном компьютере и не полагаться на коммиты SVN, обновления для удаленного запуска на компьютере с Linux.

$ sudo STATIC_DEPS=true /usr/bin/easy_install-2.7 lxml
Password:
Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.3.4
Downloading http://lxml.de/files/lxml-2.3.4.tgz
Processing lxml-2.3.4.tgz
Running lxml-2.3.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-mbyEtk/lxml-2.3.4/egg-dist-tmp-O_t_3P
Building lxml version 2.3.4.
Latest version of libiconv is 1.14
Downloading libiconv into libs/libiconv-1.14.tar.gz
error: [Errno 60] Operation timed out

Пробовал следующее без везения

$ python setup.py build

$ STATIC_DEPS=true sudo easy_install --allow-hosts=lxml.de,*.python.org lxml
$ sudo pip install lxml

llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/usr/include/libxml2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.7-intel-2.7/src/lxml/lxml.etree.o -w -flat_namespace

unable to execute llvm-gcc-4.2: No such file or directory

error: command 'llvm-gcc-4.2' failed with exit status 1

person ThinkCode    schedule 19.05.2012    source источник
comment
что говорит твой ~/.pip/pip.log?   -  person mata    schedule 19.05.2012
comment
@mata: -bash: /Users/ThinkCode/.pip/pip.log: Нет такого файла или каталога   -  person ThinkCode    schedule 19.05.2012
comment
@ThinkCode - если вы запускаете pip от имени пользователя root, журнал должен быть в /root/.pip/pip.log. но, как указал @larsks, вам нужно убедиться, что gcc установлен и в вашем $PATH.   -  person mata    schedule 19.05.2012


Ответы (3)


Сначала я установил MacPorts, а затем:

$ sudo port install python27 py27-lxml

И это дало мне работающую установку lxml.

Что касается ваших сообщений об ошибках, похоже, вам не хватает команды компилятора, которую pip использует для сборки lxml (llvm-gcc-4.2). У вас установлены средства разработки OS X? Вы должны найти этот файл в /usr/bin/llvm-gcc-4.2; если его там нет, вам, вероятно, нужно загрузить и установить пакет разработки.

Вы можете установить инструменты разработчика XCode через App Store. Если вы читаете комментарии в магазине приложений, вы заметите, что для того, чтобы сделать инструменты командной строки доступными, вам нужно установить их отдельно. В XCode перейдите в «Настройки» -> «Загрузки» и загрузите пакет «Инструменты командной строки».

person larsks    schedule 19.05.2012
comment
Могу ли я установить его без MacPorts? - person ThinkCode; 19.05.2012
comment
Конечно, это возможно. Но в целом я предпочитаю тратить время на использование программного обеспечения, поэтому я с удовольствием пользуюсь преимуществами, облегчающими установку программного обеспечения. - person larsks; 19.05.2012
comment
Я подожду любых других ответов и в конечном итоге прибегну к MacPorts, если я ничего не получу с установкой lxml. Спасибо большое. Проголосовал. - person ThinkCode; 19.05.2012
comment
У меня уже установлен XCode. С PIP он жаловался на Cython. У меня нет llvm-gcc-4.2 в /usr/bin. - person ThinkCode; 19.05.2012
comment
Да, вам не хватает инструментов командной строки. Смотрите мое обновление. Очевидно, это недавнее изменение — старые версии XCode Just Worked. - person larsks; 19.05.2012
comment
«sudo pip install lxml» сделал свое дело после того, как я установил «Инструменты командной строки». Однако «sudo port install python27 py27-lxml» выдал ошибку (ошибка: обработка порта python27 не удалась). Я все еще выбираю этот ответ. Спасибо за предложение «Инструменты командной строки». Спасибо Apple за то, что не установили их по умолчанию ;) - person ThinkCode; 19.05.2012
comment
чертов макпорт долго устанавливался! - person pythonian29033; 10.12.2013

Для будущих пользователей, просматривающих эту страницу, вот пошаговое руководство по установке lxml на Mac OSX.

  1. Перейдите в Xcode и перейдите в «Настройки», а затем перейдите на вкладку «Загрузки» и выберите «Инструменты командной строки». Скачать инструменты командной строки

  2. Перейдите в «Приложения», затем «Утилиты», а затем «Терминал» и откройте «Терминал». В терминале введите «easy_install pip». Примечание. Если написано «ошибка: /usr/local/bin/pip: Отказано в доступе», введите «chmod 777 /usr/local/bin/». теперь повторите шаг 2.

  3. Тип: pip install "Cython>=0.18"

  4. После завершения введите: pip install lxml

  5. Откройте python IDLE и проверьте, можете ли вы импортировать lxml, получайте удовольствие!

person user1337226    schedule 25.07.2013
comment
Этого недостаточно; попытка выводит: /lxml/src/lxml/includes/etree_defs.h:9:10: фатальная ошибка: файл 'libxml/xmlversion.h' не найден - person Petri; 05.11.2013
comment
В моем случае я просто смог частично использовать pip install lxml, потому что у меня уже был установлен Xcode и достаточно новая версия Cython. - person Jim Dennis; 08.01.2017

Мне пришлось сделать: «sudo port uninstall py-lxml», «sudo port uninstall py24-lxml» и «sudo port install py27-lxml», а затем я удалил lxml с помощью pip и переустановил с помощью pip, и это сработало!

person janex    schedule 03.07.2013
comment
Спасибо! Ваш совет по удалению помог мне решить аналогичный вопрос по адресу stackoverflow.com/questions/22752332/ - person Brad M; 31.03.2014