Ответ 1
Выключить xmlversion.h не входит в путь компиляции, даже если он находится в PATH. Измените ошибку C_INCLUDE_PATH для меня:
C_INCLUDE_PATH =/USR/локальные/Подвал/libxml2/2.9.1/включить/libxml2: $C_INCLUDE_PATH
У меня возникли проблемы с установкой 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
Любая идея? Большое спасибо
Выключить xmlversion.h не входит в путь компиляции, даже если он находится в PATH. Измените ошибку C_INCLUDE_PATH для меня:
C_INCLUDE_PATH =/USR/локальные/Подвал/libxml2/2.9.1/включить/libxml2: $C_INCLUDE_PATH
Если вы используете 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
Ни один из других ответов (экспорт 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
У меня есть 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 в нужном месте.
brew install libxml2
brew link libxml2 --force
export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH
есть что-то с разрешением mkdir
в /usr/
, когда система является капитаном Mac EI. Может быть, мы не можем изменить этот каталог?
См. Что такое "бескорневая" функция в El Capitan, действительно? на AskDifferent