Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在python2.7中安装lxml_Python_Python 2.7_Lxml_Linux Mint - Fatal编程技术网

Can';t在python2.7中安装lxml

Can';t在python2.7中安装lxml,python,python-2.7,lxml,linux-mint,Python,Python 2.7,Lxml,Linux Mint,我正在尝试使用sudo-pip-install-lxml和sudo-pip-install在virtualenv中安装lxml——升级lxml,但在这两种情况下都会得到以下结果: x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z, relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes

我正在尝试使用
sudo-pip-install-lxml
sudo-pip-install在virtualenv中安装lxml——升级lxml
,但在这两种情况下都会得到以下结果:

x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -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 /usr/bin/python -c "import setuptools, 
tokenize;__file__='/tmp/pip_build_root/lxml/setup.py';
exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), 
__file__, 'exec'))" install --record /tmp/pip-nmFOYf-record/install-record.txt 
--single-version-externally-managed --compile failed with error code 1 in 
/tmp/pip_build_root/lxml
Storing debug log for failure in /root/.pip/pip.log
我已经尝试了所有发布的解决方案,这意味着我已经安装了
libxml2 dev
libxslt dev
python dev
,并且还安装了
build-essential

我目前运行的是基于Linux Mint 17 Debian的,它使用
apt get
作为包管理器。

python lxml
已经预安装。

lxml
取决于各种C库,您必须安装这些C库,包括它们的开发文件(头文件,
.so
.a
库等),才能构建
lxml
。这些文档解释了您需要在特定平台上构建哪些先决条件


此错误:

/usr/bin/ld: cannot find -lz
…意味着您缺少的先决条件是
libz
,即
zlib

由于您不在Windows上,您实际上根本不可能没有
zlib
,但很可能您没有
zlib
的开发文件。在某些平台上,尤其是在许多linux发行版上,软件包通常被分成不同的部分。例如,运行时需要的
zlib
部分可能位于名为
zlib
的包中,而构建需要
zlib
的其他程序所需的部分位于名为
zlib dev
zlib devel
的包中。具体细节取决于您的具体平台

也就是说,如果您没有
zlib
开发文件,那么您可能也没有
libxml2
libxslt
开发文件,因为我不知道有哪个平台在安装这些文件时不会同时拉入
zlib
文件

无论如何,由于您没有告诉我们您是哪一个平台(如果是linux的话,还包括发行版),我不知道要使用什么包管理器,包的名称等等,但是请做适合您平台的事情


此外:

我已经安装了
python lxml

您真的不应该使用发行版的软件包管理器和
pip
安装相同的软件包;这是一个很好的迷惑你自己的方法


但无论如何,您很可能是从二进制软件包安装的
pythonlxml
,而不是从源代码安装的,这意味着您不需要构建需求。现在,您正试图从源代码构建它,这意味着您可以这样做。

在基于ubuntu的linux发行版上,您可以使用:


sudo-apt-get-install-zlib1g-dev

为什么要在virtualenv中使用
sudo
?您是否将virtualenv创建为root用户?若然,原因为何?或者,即使您在virtualenv中,您是否仍在尝试将其安装到系统站点软件包中?如果是这样的话,为什么不从virtualenv之外进行呢?@abarnert好吧,我第一次在没有sudo的情况下进行安装,然后我尝试在全局范围内安装lxml,但没有成功。只是随机混合使用virtualenv和全局安装(有和没有sudo),只会导致权限错误的virtualenv崩溃。不要这样做。仅供参考,您不需要编辑标题来表示“已解决”。只需标记一个可接受的答案(您已经这样做)就足够了。此外,在将来,对于与安装相关的问题,请在您的问题中添加有关您平台的信息,最好是作为标签。如果您一开始就有Linux Mint标签,我可以告诉您
sudo apt get install zlib1g dev
,而不是试图抽象地解释您需要使用平台的安装程序来安装平台的zlib开发包。感谢您的早期回答,我之所以尝试同时使用pip和package manager(即
apt get
)进行安装,是因为第一个(pip)对我不起作用,所以我尝试安装
python lxml
,但它是预安装的。在我试图安装
lxml
之前,我也安装了
libxml2
libxslt
@helado:但是你是否安装了
libxml2 dev
libxslt dev
,正如安装文档和这个答案所解释的那样?如果你的意思是
sudo apt获得安装libxml2 dev libxslt dev
,正如文档所说的那样,是的,我就是这样做的。我第一次在Debian上遇到这个错误。。。谢谢你的帮助!我也面临同样的问题。这个命令解决了这个问题。感谢@helado和kguest。