Не удалось установить lxml в MacOS 10.8.4

У меня возникли проблемы с установкой lxml на Mac OS. При его создании возникает следующая ошибка. Это ошибка, которую я использую при использовании pip install lxml

/private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml/src/lxml/includes/etree_defs.h:9:10: фатальная ошибка: файл libxml/xmlversion.h не найдено

Я установил libxml2 с brew:

brew install libxml2
brew link libxml2 --force

Я новичок в Mac. В Ubuntu это означает, что пакет libxml2-dev должен быть установлен.

Обновлено: здесь pip.log:

"~/.pip/pip.log" 124L, 8293C     require_set.install(install_options, global_options, root = options.root_path) Файл "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req. ру", строка 1185, в установке     require.install(install_options, global_options, * args, ** kwargs) Файл "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/пип-1.3.1-py2.7.egg/пип/req.py", строка 592, в установке     cwd = self.source_dir, filter_stdout = self._filter_install, show_stdout = False) Файл "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/util. ру", строка 662, в call_subprocess     % (command_desc, proc.returncode, cwd)) InstallationError: команда /usr/local/Cellar/python/ 2.7.5/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools; файл= '/private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml/setup.py'; exec (компиляция (open (файл). чтения(). заменить ( '\ г\п', '\n'), файл, 'exec'))" install -record /var/folders/ 9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-nsV0iT-record/install-record.txt -single-version-external-managed failed с кодом ошибки 1 в /private/var/folders/ 9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml

Любая идея? Большое спасибо

Ответ 1

Выключить xmlversion.h не входит в путь компиляции, даже если он находится в PATH. Измените ошибку C_INCLUDE_PATH для меня:

C_INCLUDE_PATH =/USR/локальные/Подвал/libxml2/2.9.1/включить/libxml2: $C_INCLUDE_PATH

Ответ 2

Если вы используете Mavericks с установленным Xcode, вы также можете использовать:

export C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/libxml2:$C_INCLUDE_PATH

Ответ 3

Ни один из других ответов (экспорт C_INCLUDE_PATH) не работал у меня. Однако установка переменной среды CFLAGS во встроенный корень OS X 10.10 libxml2 работала как шарм.

export CFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2

Ответ 4

У меня есть Python и libxml, установленные через brew, это сработало для меня после того, как вы попробовали все выше:

sudo mkdir /usr/include # If /usr/include is missing
sudo ln -s /usr/local/Cellar/libxml2/2.9.2/include/libxml2 /usr/include/libxml2

Примечание. Вам нужно будет проверить свои собственные пути для последних версий.

Поскольку заголовки доступны в другом месте и просматриваются в определенном каталоге (замечены в команде, вызывающей clang для компиляции), и по какой-то причине альтернативное место не подбирается, я сделал softlink в нужном месте.

Ответ 5

brew install libxml2
brew link libxml2 --force
export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH