2016-01-13 153 views
1

我在lxml安装问题上看到过一些帖子,但没有找到任何答案。许多人说要安装python-dev,libxml2和libxslt来解决这个问题。他们已经安装了,但我仍然得到以下结果(记住,我在本地使用的virtualenv安装一切):lxml:错误:命令'x86_64-linux-gnu-gcc'失败,退出状态1

(scrapers)~$ pip install lxml 
Downloading/unpacking lxml 
    Downloading lxml-3.5.0.tar.gz (3.8MB): 3.8MB downloaded 
    Running setup.py (path:/home/pigna/scrapers/build/lxml/setup.py) egg_info for package lxml 
    Building lxml version 3.5.0. 
    Building without Cython. 
    Using build configuration of libxslt 1.1.28 

    warning: no previously-included files found matching '*.py' 
Installing collected packages: lxml 
    Running setup.py install for lxml 
    Building lxml version 3.5.0. 
    Building without Cython. 
    Using build configuration of libxslt 1.1.28 
    building 'lxml.etree' extension 
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -Isrc/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 
    x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-x86_64-2.7/lxml/etree.so 
    /usr/bin/ld: cannot find -lz 
    collect2: error: ld returned 1 exit status 
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 
    Complete output from command /home/pigna/scrapers/bin/python -c "import setuptools, tokenize;__file__='/home/pigna/scrapers/build/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ikEzzn-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/pigna/scrapers/include/site/python2.7: 
    Building lxml version 3.5.0. 

Building without Cython. 

Using build configuration of libxslt 1.1.28 

running install 

running build 

running build_py 

creating build 

creating build/lib.linux-x86_64-2.7 

creating build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/builder.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/cssselect.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/sax.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/__init__.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-2.7/lxml 

creating build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-2.7/lxml/includes 

creating build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/builder.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/diff.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/defs.py -> build/lib.linux-x86_64-2.7/lxml/html 

copying src/lxml/html/clean.py -> build/lib.linux-x86_64-2.7/lxml/html 

creating build/lib.linux-x86_64-2.7/lxml/isoschematron 

copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-2.7/lxml/isoschematron 

copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-2.7/lxml 

copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-2.7/lxml/includes 

copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-2.7/lxml/includes 

creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources 

creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/rng 

copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/rng 

creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl 

copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl 

copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl 

creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 

running build_ext 

building 'lxml.etree' extension 

creating build/temp.linux-x86_64-2.7 

creating build/temp.linux-x86_64-2.7/src 

creating build/temp.linux-x86_64-2.7/src/lxml 

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -Isrc/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 

x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-x86_64-2.7/lxml/etree.so 

/usr/bin/ld: cannot find -lz 

collect2: error: ld returned 1 exit status 

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 

---------------------------------------- 
Cleaning up... 
Command /home/pigna/scrapers/bin/python -c "import setuptools, tokenize;__file__='/home/pigna/scrapers/build/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ikEzzn-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/pigna/scrapers/include/site/python2.7 failed with error code 1 in /home/pigna/scrapers/build/lxml 
Storing debug log for failure in /home/pigna/.pip/pip.log 

是什么warning: no previously-included files found matching '*.py'意思? /usr/bin/ld: cannot find -lz什么是-lz?如何安装它?

+1

如果您在Ubuntu上,安装zlib1g-dev –

+0

如果不知道操作系统,无法明确地回答。 –

+0

是的,Ubuntu 14.04 – Pigna

回答

3

相关的错误是这样的:

/usr/bin/ld: cannot find -lz 

...这表明链接找不到libz.so,这意味着你不必安装在一个位置,你的库搜索路径zlib的。

安装zlib;这样做的方法取决于您的操作系统,所以没有通用的答案。它可能是这样的:

sudo apt-get install zlib-dev # on a Debian derivative 
sudo apt-get install zlib1g-dev # on Ubuntu 14.04 (see below) 
sudo yum install zlib-devel  # on a Red Hat derivative 
sudo port install zlib   # on a ports-based system 
sudo pacman -S zlib    # on Arch Linux 

或任何数量的其他适当的东西。


假设你想找到合适的包名的Ubuntu的给定版本,可以search for the package containing libz.so on packages.ubuntu.com;链接的结果是针对Trusty的。

+0

我在Ubuntu 14.04上。在运行'sudo apt-get install zlib-dev'后,我得到了'E:无法找到软件包zlib-dev ' – Pigna

+1

我需要查看14.04上调用的软件包,justaminute。 –

+1

在14.04,它是zlib1g-dev(Mad Wombat的评论是该版本的入门点)。 –

相关问题