Как да инсталирам 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 просто работят. - person larsks; 19.05.2012
comment
„sudo pip install lxml“ свърши работа, след като инсталирах „Инструменти за команден ред“. „sudo port install python27 py27-lxml“ обаче даде грешка (Грешка: Неуспешна обработка на порт python27). Все още избирам този отговор. Благодаря за предложението за „Инструменти на командния ред“. Благодарим ви, Apple, че не ги инсталирате по подразбиране ;) - person ThinkCode; 19.05.2012
comment
Инсталирането на проклетите macports отне цяла вечност! - person pythonian29033; 10.12.2013

За бъдещите потребители, които разглеждат тази страница, ето ръководство стъпка по стъпка за инсталиране на lxml на Mac OSX.

  1. Отидете на Xcode и отидете на Preferences, след което отидете на раздела Downloads и изберете „Command Line Tools“. Изтеглете инструменти за команден ред

  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