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 output from command "d:\program files\python\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\CHENJU~1\\AppData\\Local\\Temp\\pip-build-id5180h6\\lxml\\setup.py';
  Building lxml version 3.5.0.
  Building without Cython.
  ERROR: b"'xslt-config' \xb2\xbb\xca\xc7\xc4\xda\xb2\xbf\xbb\xf2\xcd\xe2\xb2\xbf\xc3\xfc\xc1\xee\xa3\xac\xd2\xb2\xb2\xbb\xca\xc7\xbf\xc9\xd4\xcb\xd0\xd0\xb5\xc4\xb3\xcc\xd0\xf2\r\n\xbb\xf2\xc
  ** make sure the development packages of libxml2 and libxslt are installed ** 

  Using build configuration of libxslt
  running install
  running build
  running build_py
  creating build
  creating build\lib.win32-3.5
  creating build\lib.win32-3.5\lxml
  copying src\lxml\builder.py -> build\lib.win32-3.5\lxml
  copying src\lxml\cssselect.py -> build\lib.win32-3.5\lxml
  copying src\lxml\doctestcompare.py -> build\lib.win32-3.5\lxml
  copying src\lxml\ElementInclude.py -> build\lib.win32-3.5\lxml
  copying src\lxml\pyclasslookup.py -> build\lib.win32-3.5\lxml
  copying src\lxml\sax.py -> build\lib.win32-3.5\lxml
  copying src\lxml\usedoctest.py -> build\lib.win32-3.5\lxml
  copying src\lxml\_elementpath.py -> build\lib.win32-3.5\lxml
  copying src\lxml\__init__.py -> build\lib.win32-3.5\lxml
  creating build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\__init__.py -> build\lib.win32-3.5\lxml\includes
  creating build\lib.win32-3.5\lxml\html
  copying src\lxml\html\builder.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\clean.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\defs.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\diff.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\ElementSoup.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\formfill.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\html5parser.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\soupparser.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\usedoctest.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\_diffcommand.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\_html5builder.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\_setmixin.py -> build\lib.win32-3.5\lxml\html
  copying src\lxml\html\__init__.py -> build\lib.win32-3.5\lxml\html
  creating build\lib.win32-3.5\lxml\isoschematron
  copying src\lxml\isoschematron\__init__.py -> build\lib.win32-3.5\lxml\isoschematron
  copying src\lxml\lxml.etree.h -> build\lib.win32-3.5\lxml
  copying src\lxml\lxml.etree_api.h -> build\lib.win32-3.5\lxml
  copying src\lxml\includes\c14n.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\config.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\dtdvalid.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\etreepublic.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\htmlparser.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\relaxng.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\schematron.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\tree.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\uri.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\xinclude.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\xmlerror.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\xmlparser.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\xmlschema.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\xpath.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\xslt.pxd -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\etree_defs.h -> build\lib.win32-3.5\lxml\includes
  copying src\lxml\includes\lxml-version.h -> build\lib.win32-3.5\lxml\includes
  creating build\lib.win32-3.5\lxml\isoschematron\resources
  creating build\lib.win32-3.5\lxml\isoschematron\resources\rng
  copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win32-3.5\lxml\isoschematron\resources\rng
  creating build\lib.win32-3.5\lxml\isoschematron\resources\xsl
  copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl
  copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl
  creating build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  running build_ext
  building 'lxml.etree' extension
  error: Unable to find vcvarsall.bat 

  ----------------------------------------

2.  Baidu一下看看问题如何解决:

原来这个问题,还是需要区分操作系统来分别处理的。window下暂无涉及。

3.  Linux系统的处理方式:

sudo apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev 

or yum install .....

然后继续使用 pip install lxml

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-02-07

在windows系统中实现python3安装lxml

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

Python lxml模块安装教程

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

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使用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利用递归和walk()遍历目录文件的方法示例

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

php的SimpleXML方法读写XML接口文件实例解析

在php5中读写xml文档是非常方便的,可以直接使用php的SimpleXML方法来快速解析与生成xml格式的文件,下面举例说明: 创建一个SimpleXML对象有三种方法: 1.使用new关键字创建 复制代码 代码如下: $xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item><item>&l

java生成xml格式文件的方法

本文实例讲述了java生成xml格式文件的方法.分享给大家供大家参考,具体如下: 这里演示利用Java生成xml格式文件 Demo中所用到的jar包Jdom.jar . 为了方便理解,我写了个Demo import java.io.FileOutputStream; import java.io.IOException; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import

详解 Python 读写XML文件的实例

详解 Python 读写XML文件的实例 Python 生成XML文件 from xml.dom import minidom # 生成XML文件方式 def generateXml(): impl = minidom.getDOMImplementation() # 创建一个xml dom # 三个参数分别对应为 :namespaceURI, qualifiedName, doctype doc = impl.createDocument(None, None, None) # 创建根元素 r

python解析基于xml格式的日志文件

大家中午好,由于过年一直还没回到状态,好久没分享一波小知识了,今天,继续给大家分享一波Python解析日志的小脚本. 首先,同样的先看看日志是个啥样. 都是xml格式的,是不是看着就头晕了??没事,我们先来分析一波. 1.每一段开头都是catalina-exec,那么我们就按catalina-exec来分,分了之后,他们就都是一段一段的了. 2.然后,我们再在已经分好的一段段里面分,找出你要分割的关键字,因为是xml的,所以,接下来的工作就简单了,都是一个头一个尾的. 3.但是还有一个问题,有可

把图象文件转换成XML格式文件

把图象文件转换成XML格式文件 利用.NET 框架下的FromBase64String和ToBase64String方法可以很容易地实现图象文件和XML文件的互换.这样可以轻易解决以XML格式保存图片的问题.代码如下: Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows 窗体设计器生成的代码 " Public Sub New() MyBase.New() InitializeComponent(