Python-- lxml安装

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ydw_ydw/article/details/82228034

       无论是使用爬虫框架scrapy,还是简单的requests请求后解析。都不可避免的需要使用html解析库。当然正则是可以代替一部分搜索。由于正则语法的晦涩,及其其他场景下,html解析是必不可少的。网上推荐 lxml的比较多,优点:稳定,高效。

       但是lxml的安装很难一次成功。

直接成功就不要接着看了。

pip install lxml 

在windows系统中安装时,可能会出现如下错误:

提示如下:

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27

需要安装Microsoft Visual C++ 9.0,对应的是visual studio 2008版本。其实我们可以用一种更简单的方式来解决这个问题。

(1)首先升级下pip:

python -m pip install -U pip

(2)安装wheel

pip install wheel

(3)下载lxml对应python版本的wheel文件:下载地址(现在好像不能用了,可以根据你相应的Python去网上下载一个,这里我只有一个py37的,链接https://pan.baidu.com/s/1uGvrI12phytodE3diadxzg密码kd2h) 

 

其中cp27表示版本就是Python2.7,最后执行安装: 

  1. 下载相应版本的lxml-xx-xx-xx .whl文件,比如我的是lxml‑3.7.3‑cp37‑cp37m‑win_amd64.whl
  2. 进到whl文件的目录下,进入命令窗口,输入相应*.whl文件名,我的输入如下:
pip install  lxml‑3.7.3‑cp37‑cp37m‑win_amd64.whl

如果没有错误提示就代表安装成功。 


下面是一些不知道的问题,可以不用看。 

通常提示缺少libxml2,这是系统自带的版本太低。需要升级libxml2

ubuntu 下 
apt-get install libxml2-dev libxslt-dev python-dev

centos 下 
yum install libxml2-dev libxslt-dev python-dev

如果这样还不行,可以下载源代码,本地编译。

如果遇到这样的问题 

error: command 'gcc' failed with exit status 1

可能是因为环境:搬瓦工的256M内存,因为内存不够,每次便宜调用gcc 就被系统干掉,而且版瓦工采用的OpenVZ架构,除非重新换机房,否则不能添加临时swap.

方法一:找一个环境相同的系统,将lxml编译成一个wheel,拷贝过去安装。

这个法不行,手头没有这样的环境。

方法二:直接粗暴的吧本地的lxml这个在site-packet文件夹下的包copy过去了。

 

展开阅读全文

没有更多推荐了,返回首页