Установка easy_install ... чтобы перейти к установке lxml - PullRequest
22 голосов
/ 03 марта 2010

Я понял, что ElementTree не собирается делать то, что я хочу. Я проверил документацию для lxml, и кажется, что она будет служить моим целям. Чтобы получить lxml, мне нужно получить easy_install. Поэтому я скачал его с здесь и поместил в /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/. Затем я пошел в эту папку и запустил sh setuptools-0.6c11-py2.6.egg.

Это успешно установлено. Затем я был взволнован, потому что думал, что весь смысл easy_install заключается в том, что я могу просто установить его с помощью easy_install lxml, и lxml волшебным образом будет загружен, собран и установлен правильно, готовый для моего удовольствия от импорта. Итак, я побежал easy_install lxml. Я вставил результаты ниже. Что мне делать?

easy_install lxml
Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.2.6
Downloading http://codespeak.net/lxml/lxml-2.2.6.tgz
Processing lxml-2.2.6.tgz
Running lxml-2.2.6/setup.py -q bdist_egg --dist-dir /var/folders/49/49N0+g5QFKCm51AbzMtghE+++TI/-Tmp-/easy_install-rxbP6K/lxml-2.2.6/egg-dist-tmp-fjakR0
Building lxml version 2.2.6.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available.
Using build configuration of libxslt 1.1.12
Building against libxml2/libxslt in the following directory: /usr/lib
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

Ответы [ 5 ]

23 голосов
/ 03 марта 2010

Во-первых, мы больше не используем easy_install. Мы используем пункт . Пожалуйста, используйте вместо этого pip.

Чтобы добраться до ваших конкретных проблем, как отмечается в комментариях, вам не хватает GCC. В OS X Xcode Инструменты командной строки предоставляют GCC, а также многие другие программы, необходимые для сборки программного обеспечения в OS X. Для OS X 10.9 (Mavericks) и новее, установите Xcode через App Store, или в качестве альтернативы, установите только инструменты командной строки Xcode с

xcode-select --install

Подробнее см. В FAQ для разработчиков Apple или поищите в Интернете «инструменты для командной строки Xcode».

Для более старых версий OS X вы можете получить Инструменты командной строки Xcode со страницы загрузок на сайте Apple Developer (требуется бесплатная регистрация).

После установки GCC вы все равно можете столкнуться с ошибками во время компиляции, если в вашей системе не установлены зависимости библиотеки C / C ++. В OS X проект Homebrew является самым простым способом установки и управления такими зависимостями. Следуйте инструкциям на веб-сайте Homebrew, чтобы установить Homebrew в своей системе, а затем выполните команду

brew update
brew install libxml2 libxslt

Возможно, в вашем случае возникнут дальнейшие проблемы, вы поместили загруженные установочные инструменты в /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/. Пожалуйста, не загружайте файлы в это место. Вместо этого я предлагаю вам загрузить файл в свой домашний каталог или в обычный каталог Downloads. После загрузки вы должны запустить sh setuptools-X.Y.Z.egg, который затем правильно установит его в соответствующий site-packages и поместит исполняемый файл easy_install на вашем пути.

13 голосов
/ 26 октября 2010

Убедитесь, что у вас установлены libxml2-dev и libxslt1-dev

apt-get install libxml2-dev
apt-get install libxslt1-dev

Тогда ваша установка должна работать правильно.

10 голосов
/ 17 ноября 2010

попробовать: sudo apt-get install python-lxml

2 голосов
/ 20 ноября 2010

Убедитесь, что в вашей системе сначала установлены все следующие пакеты:

gcc gcc-c++ python-devel libxml2 libxml2-dev libxslt libxslt-dev

Вы можете установить их, используя несколько вариантов: sudo apt-get install sudo yum install

Только после того, как все вышеперечисленное было успешно установлено, вы должны попытаться запустить:

sudo pip install lxml
2 голосов
/ 03 марта 2010

Похоже, lxml хочет создать расширение, которое требует доступа к компилятору Си. Вам понадобится gcc для этого. Попробуйте запустить sudo apt-get install build-essential, и это должно решить эту проблему.

...