今天想要试试beautifulsoup4,安装的时候很顺利,然后就准备安装lxml作为解析器,没想到安装时pip直接给我报了一整页的错误。

解决过程

查看了一下错误提示,其中有如下一段:

*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************

于是我手动安装这个库,结果发现实际上已经安装过了,那么为什么还会提示这个问题呢?于是我又回去看输出的提示,找到了这两行:

ERROR: b'/bin/sh: 1: xslt-config: not found\n'
** make sure the development packages of libxml2 and libxslt are installed **
  • 1
  • 2
  • 1
  • 2

原来要安装dev包啊。输入sudo apt-get install libxml2-dev libxslt1-dev,应该搞定了吧?

事实证明我高兴太得早了,虽然不再报这个错了,但是lxml的安装还是失败了。无奈,只能继续看错误提示。找到了这么一个错误提示:

src/lxml/lxml.etree.c:82:20: fatal error: Python.h: 没有那个文件或目录
  • 1
  • 1

查了一下,这是python-dev中提供的一个头文件,所以需要安装python-dev(我用的是Python3,所以装了python3-dev)。用apt安装一下,然后再用pip install lxml,没想到依旧报错不能安装orz。这次错误换了一个:

/usr/bin/ld: cannot find -lz
  • 1
  • 1

stackoverflow上对于这个问题提供的方法是安装zlib1g-dev,用apt-get安装后,再次尝试编装lxml,终于编译安装成功。

总结

实际上用一条命令吧所需的几个dev包装上就能搞定了。

sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev
  • 1
  • 1

后来发现Stackoverflow上的已经有人问了这个问题。

转http://blog.csdn.net/lincifer/article/details/51296559

python pip安装lxml失败(转)的更多相关文章

  1. pip安装icu失败:Command "python setup.py egg_info" failed with error code 1 in

    问题 Mac 下通过 pip 安装 icu 失败. 解决办法及原因 问题的原因是因为icu库中的某一行代码找不到一个文件,获取不到ICU_VERSION的值. # Install icu brew i ...

  2. (python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, 'Read timed out.')

    (python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, ‘Read timed out.’)pip工具安装百度经验链接: pip安装 ...

  3. pip 安装 lxml 出错

    用pip安装 lxml 老是出错,在公司安装了 wheel,从 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下载了lxml的whl包,pip ins ...

  4. MAC OSX下用pip安装lxml时遇到xmlversion.h not found的解决办法

    http://blog.csdn.NET/wave_1102/article/details/37730589 今天在Mac下用pip安装lxml,总是报如下错误: etree_defs.h::: f ...

  5. python pip安装模块提示错误failed to create process

    python pip安装模块提示错误failed to create process 原因: 报这个错误的原因,是因为python的目录名称或位置发生改动. 解决办法: 1.找到修改python所在的 ...

  6. python pip安装requests库总提示:Fatal error in launcher...''

      1.python pip安装提示:Fatal error in launcher...'' 我查看了网上都说是电脑同时安装了python2  和python3时候才会有这个错误,但实际上我电脑只安 ...

  7. 解决Python pip安装第三方包慢的问题

    解决Python pip安装第三方包慢的问题 主要是修改源,国内的源有几个 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi ...

  8. pip安装lxml报错 Fatal error in launcher: Unable to create process using '"c:\users\administrator\appdata\local\programs\python\python36\python.exe" "C:\Users\Administrator\AppData\L

    pip install lxml 安装报错 E:\apollo\spider_code>Fatal error in launcher: Unable to create process usi ...

  9. 5.python之pip安装模块失败

    本文是篇水文,主要是在学习python过程中总是遇到使用pip安装一些模块失败,记录一下安装模块解决办法 第一种方法: 首先安装wheel模块: pip install wheel 如果wheel都安 ...

随机推荐

  1. 实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣

    对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化.随着Kafka的迅猛发展,其消息格式也在不断的升级改进,从0.8.x版本开始到现在的1.1.x版本,Kafka的 ...

  2. POJ 3974 Palindrome | 马拉车模板

    给一个字符串,求最长回文字串有多长 #include<cstdio> #include<algorithm> #include<cstring> #define N ...

  3. 通过CLI命令将ESXi主机进入维护模式

    将主机置于维护模式# vimsh -n -e /hostsvc/maintenance_mode_enter # vim-cmd /hostsvc/maintenance_mode_enter 退出维 ...

  4. font-family 定义的最后为什么要加一句sans-serif

    定义font-family时,最好在最后加一个sans-serif,这样如果所列出的字体都不能用,则默认的sans-serif字体能保证调用; W3C建议字体定义的时候,最后以一个类别的字体结束,例如 ...

  5. vue 项目 webstrom IDE格式化代码规则遵循eslint设置

    首先vue-cli生成了一个项目,开启了eslint的检测, 但是根据webstorm的快捷格式化代码 ctrl+alt+L会造成eslint报错. 解决办法一: 编辑器打开文件 首先,在编辑器里面要 ...

  6. 【CString与string转换】不存在从 "LPWSTR" 转换到 "std::basic_string<char, std::char_traits<char>, std::allocator(转)

    原文转自 http://blog.csdn.net/qq_23536063/article/details/52291332 [问题描述] CString cstr: sring str(cstr.G ...

  7. 错误:'nasm' 不是内部或外部命令,也不是可运行的程序

    原文转自 http://blog.csdn.net/alexcrazy/article/details/7183312 >正在执行自定义生成步骤 >'nasm' 不是内部或外部命令,也不是 ...

  8. 转 python数据类型详解

    python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...

  9. 【原创】Talend ETL开发——基于joblet的统一的email发送

    更新 2019/1/16:增加了允许5个附件发送.smtp等配置的字段. 一.背景 在ETL数据整合过程中,肯定会涉及到email的通知,比如ETL的执行情况汇报,执行耗时汇报,关键数据更新情况等信息 ...

  10. Android从相册选取视频

    1. /** * 从相册中选择视频 */ private void choiceVideo() { Intent i = new Intent(Intent.ACTION_PICK, android. ...