На одном из этапе установке программы у меня всё время возникала указанная в заголовке ошибка. В логе в первую очередь в глаза бросилась строка error: command 'x86_64-linux-gnu-gcc' failed with exit status 1. Но это общая ошибка компилятора, которая обусловлена другой проблемой. Чтобы её обнаружить нужно посмотреть чуть выше - что именно предшествовало остановке компилятора?
В моём случае проблема заключалась в следующем: fatal error: libxml/xmlversion.h: Нет такого файла или каталога.
Посмотрите сами на кусок лога, который её содержит:
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/tmp/pip-build-bpEHWR/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o -w
In file included from src/lxml/lxml.etree.c:239:0:
/tmp/pip-build-bpEHWR/lxml/src/lxml/includes/etree_defs.h:14:31: fatal error: libxml/xmlversion.h: Нет такого файла или каталога
#include "libxml/xmlversion.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for lxml
Failed to build lxml
Installing collected packages: lxml, mechanize, slowaes, XlsxWriter, olefile, PyPDF2
Found existing installation: lxml 3.4.0
Uninstalling lxml-3.4.0:
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 211, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 311, in run
root=options.root_path,
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 640, in install
requirement.uninstall(auto_confirm=True)
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 716, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_uninstall.py", line 125, in remove
renames(path, new_path)
File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 315, in renames
shutil.move(old, new)
File "/usr/lib/python2.7/shutil.py", line 300, in move
rmtree(src)
File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "/usr/lib/python2.7/shutil.py", line 250, in rmtree
os.remove(fullname)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/dist-packages/lxml/doctestcompare.pyc'
Эта проблема решается достаточно просто.
Для основанных на Debian дистрибутивах (Debian, Ubuntu, Mint) установите следующие пакеты:
sudo apt-get install libxml2-dev libxslt1-dev python-dev
Для CentOS, Red Hat, Fedora:
yum install libxslt-devel libxml2-devel python-devel