Python lxml模块安装教程

lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不同的地方是它兼顾了这些库的速度和功能完整性,以及纯Python API的简洁性,与大家熟知的ElementTree API兼容但比之更优越!但安装lxml却又有点麻烦,因为存在依赖,直接安装的话用easy_install, pip都不能成功,会报gcc错误。下面列出来Windows、Linux下面的安装方法:

【Windows系统】

先确保Python已经安装好,环境变量也配置好了,相应的的easy_install、pip也安装好了.

1. 执行 pip install virtualenv

代码如下:

C:\>pip install virtualenv 
Requirement already satisfied (use --upgrade to upgrade): virtualenv in c:\python27\lib\site-package 
s\virtualenv-12.0.4-py2.7.egg

2. 从官方网站下载与系统,Python版本匹配的lxml文件:
http://pypi.python.org/pypi/lxml/2.3/

NOTE:

比如说我的电脑是Python 2.7.4, 64位操作系统,那么我就可以下载
lxml-2.3-py2.7-win-amd64.egg (md5)     # Python Egg 
或 
lxml-2.3.win-amd64-py2.7.exe (md5)     # MS Windows installer

3. 执行 easy_install lxml-2.3-py2.7-win-amd64.egg
D:\Downloads>easy_install lxml-2.3-py2.7-win-amd64.egg    # 进入该文件所在目录执行该命令

代码如下:

Processing lxml-2.3-py2.7-win-amd64.egg 
creating c:\python27\lib\site-packages\lxml-2.3-py2.7-win-amd64.egg 
Extracting lxml-2.3-py2.7-win-amd64.egg to c:\python27\lib\site-packages 
Adding lxml 2.3 to easy-install.pth file 
 
 
Installed c:\python27\lib\site-packages\lxml-2.3-py2.7-win-amd64.egg 
Processing dependencies for lxml==2.3 
Finished processing dependencies for lxml==2.3

NOTE:

1. 可用exe可执行文件,方法更简单直接安装就可以
2. 可用easy_install安装方式,也可以用pip的方式

代码如下:

#再执行下,就安装成功了! 
>>> import lxml    
>>>

3. 如用pip安装,常用命令就是:

代码如下:

pip install simplejson                      # 安装Python包
pip install --upgrade simplejson          # 升级Python包
pip uninstall simplejson                    # 卸载Python包

4. 如用Eclipse+Pydev的开发方式,需要移除旧包,重新加载一次

代码如下:

Window --> Preferences --> PyDev --> Interperter-python   # 否则导包的时候会报错

【Linux系统】

因为lxml依赖的包如下:

代码如下:

libxml2, libxml2-devel, libxlst, libxlst-devel, python-libxml2, python-libxslt

所以安装步骤如下:
第一步: 安装 libxml2

代码如下:

$ sudo apt-get install libxml2 libxml2-dev

第二步: 安装 libxslt

代码如下:

$ sudo apt-get install libxlst libxslt-dev

第三步: 安装 python-libxml2 和 python-libxslt

代码如下:

$ sudo apt-get install python-libxml2 python-libxslt

第四步: 安装 lxml

代码如下:

$ sudo easy_install lxml

参考官方文档:
http://codespeak.net/lxml/installation.html

时间: 2015-06-01

在windows系统中实现python3安装lxml

lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库.lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定.它与众不同的地方是它兼顾了这些库的速度和功能完整性,以及纯Python API的简洁性,与大家熟知的ElementTree API兼容但比之更优越!但安装lxml却又有点麻烦,因为存在依赖,直接安装的话用easy_install, pip都不能成功,会报gcc错误. 爬虫时通常要安装LXML,对于通过一下命令行 pip

Python pip安装lxml出错的问题解决办法

Python  pip安装lxml出错的问题解决办法 1.  在使用pip安装lxml过程中出现了一下错误: >>> pip install lxml C:\Users\Chen>pip install lxml Collecting lxml Using cached lxml-3.5.0.tar.gz Installing collected packages: lxml Running setup.py install for lxml ... error Complete

Python使用lxml模块和Requests模块抓取HTML页面的教程

Web抓取 Web站点使用HTML描述,这意味着每个web页面是一个结构化的文档.有时从中 获取数据同时保持它的结构是有用的.web站点不总是以容易处理的格式, 如 csv 或者 json 提供它们的数据. 这正是web抓取出场的时机.Web抓取是使用计算机程序将web页面数据进行收集 并整理成所需格式,同时保存其结构的实践. lxml和Requests lxml(http://lxml.de/)是一个优美的扩展库,用来快速解析XML以及HTML文档 即使所处理的标签非常混乱.我们也将使用 Re

python利用lxml读写xml格式的文件

之前在转换数据集格式的时候需要将json转换到xml文件,用lxml包进行操作非常方便. 1. 写xml文件 a) 用etree和objectify from lxml import etree, objectify E = objectify.ElementMaker(annotate=False) anno_tree = E.annotation( E.folder('VOC2014_instance'), E.filename("test.jpg"), E.source( E.d

python自定义解析简单xml格式文件的方法

本文实例讲述了python自定义解析简单xml格式文件的方法.分享给大家供大家参考.具体分析如下: 因为公司内部的接口返回的字串支持2种形式:php数组,xml:结果php数组python不能直接用,而xml字符串的格式不是标准的,所以也不能用标准模块解析.[不标准的地方是某些节点会的名称是以数字开头的],所以写个简单的脚步来解析一下文件,用来做接口测试. #!/usr/bin/env python #encoding: utf-8 import re class xmlparse: def _

利用python GDAL库读写geotiff格式的遥感影像方法

如下所示: from osgeo import gdal import numpy as np def read_tiff(inpath): ds=gdal.Open(inpath) row=ds.RasterXSize col=ds.RasterYSize band=ds.RasterCount geoTransform=ds.GetTransform() proj=ds.GetTransform() data=np.zeros([row,col,band]) for i in range(b

Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题

先举个例子,分别以不指定编码.指定编码为 utf-8.指定编码为 utf-8-sig 三种方式来做比较,再将写入 csv 文件和 txt 文件来做个对比 一.不指定编码方式,直接存入 csv 文件 import csv with open('test.csv', 'w') as fp: writer = csv.writer(fp) writer.writerow(['汉语', '俄语', '韩语', '日语', '英语']) writer.writerow(['爱你', 'люблю тебя

Python使用ElementTree美化XML格式的操作

Python中使用ElementTree可以很方便的处理XML,但是产生的XML文件内容会合并在一行,难以看清楚. 如下格式: <root><aa>aatext<cc>cctext</cc></aa><bb>bbtext<dd>ddtext<ee>eetext</ee></dd></bb></root> 使用minidom模块中的toprettyxml和write

Python使用minidom读写xml的方法

本文实例讲述了Python使用minidom读写xml的方法.分享给大家供大家参考.具体分析如下: 一 python提供的xml支持 2种工业标准的xml解析方法-SAX和DOM.SAX(simple API for XML),是基于事件处理的,当XML文档顺序地读入时,每次遇到一个元素会触发相应的事件处理函数来处理.DOM(Document Object Model),通过构建一个树结构来表现整个xml文档,一旦树被构建,可以通过DOM提供了接口来遍历树和提取相应的数据.   python还提

go解析svn log生成的xml格式的文件

想用go做一个统计svn代码提交的工具,类似statsvn. 今天进展到了用go解析svn log生成的xml格式的文件,在go doc上找了一个Example,已经包括了一些比较典型的解析案例,但是在照葫芦画瓢的时候还是遇到了问题,有个paths下有多个path,每个path都有自己的属性和值,想同时渠道属性和值,真是费了好大的劲. 先上个svn xml 格式 log 的demo. Example <?xml version="1.0"?> <log> <

Python利用pandas计算多个CSV文件数据值的实例

功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys input_path='./' output_fiel='pandas_union_concat.csv' all_files=glob.glob(os.path.join(input_path,'sales_*')) all_data_frames=[] for file in all_files:

Python利用lxml模块爬取豆瓣读书排行榜的方法与分析

前言 上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的首页地址是: https://www.douban.com/doulist/1264675/?start=0&sort=time&playable=0&sub_type= 该排行榜一共有22页,且发现更改网址的 start=0 的 0 为25.50就可以跳到排行榜的第二.第三页,所以后

Python利用递归和walk()遍历目录文件的方法示例

前言 经常需要检查一个"目录或文件夹"内部有没有我们想要的文件或者文件夹,就需要我们循环迭代出所有文件和子文件夹,Python中遍历指定目录下所有的文件和文件夹,包含多级目录,有两种方法,一种是通过递归思想去遍历,另一种是os模块的walk()函数下面话不多说,就来一起看看详细的介绍: 列出目录结构 一.递归方法 #coding:utf-8 import os allfile=[] def getallfile(path): allfilelist=os.listdir(path) f