在Linux服务器上安装lxml

最近新接的活,第一个任务是处理一堆xml格式的专利文件,把里面的有效信息提取出来

因为公司的相关规定不允许把文件down到本地处理,只能在对方提供的远程服务器上写代码

由于xml里面的元素是XXX:YYYY这种带前缀的格式,用xml.etree的ElementTree死活解析不出来,最后从OverStack上找到了解释

ElementTree is not too smart about namespaces. You need to give the .find()findall() and iterfind() methods an explicit namespace dictionary. This is not documented very well:

namespaces = {‘owl‘: ‘http://www.w3.org/2002/07/owl#‘} # add more as needed

root.findall(‘owl:Class‘, namespaces)

Prefixes are only looked up in the namespaces parameter you pass in. This means you can use any namespace prefix you like; the API splits off the owl: part, looks up the corresponding namespace URL in the namespaces dictionary, then changes the search to look for the XPath expression {http://www.w3.org/2002/07/owl}Class instead.

If you can switch to the lxml library things are better; that library supports the same ElementTree API, but collects namespaces for you in a .nsmap attribute on elements.

于是果断去装lxml

服务器上已经装了python2.7,然而除此之外的东西全都没有,因此又手动装了pip

执行pip install lxml 报了一大堆错,注意到:

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

查到lxml还需要先安装依赖库libxml2和libxslt的开发版

yum install libxml2-devel

yum install libxslt-devel

安装好依赖库后pip还是报错

这次又认真读了一遍错误信息发现前面居然还有一行:

unable to execute gcc: No such file or directory

好吧,连gcc都没有安装,难怪无法编译

yum install gcc

安装好以后pip install,居然,还是报错!

src/lxml/lxml.etree.c:84:20: 致命错误:Python.h:没有那个文件或目录

再查资料,原来还需要安装一个python-devel,这是Python的头文件和静态库包

yum install python-devel

安装完之后再次pip install lxml

终于见到了喜闻乐见的

Successfully installed lxml

至此,linux下的lxml安装完成

时间: 2024-08-29 03:11:35

在Linux服务器上安装lxml的相关文章

Dell Omsa在Linux服务器上安装部署

前言 本页详述了在一台Linux(RHEL6.4 x86_64)服务器上部署安装OMSA的通用做法,包括OMSA软件的获取方法和安装步骤. 演示环境: PowerEdge R620, RHEL 6.4 x86_64 OMSA所必须的关联安装包的安装 安装OMSA之前,我们必须确保OMSA安装所需的一些先决安装包已经安装,它们包括: libcmpiCppImpl0libwsman1sblim-sfcbsblim-sfccopenwsman-clientopenwsman-server 其中sbli

在linux服务器上安装Jenkins

Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器上安装Jenkins. 获得一台linux服务器 要在linux下安装git,首先你得先有一台linux服务器,这里我选择了腾讯云 安装jdk Jenkins的运行需要依赖jdk,所以在安装Jenkins之前我们得先把jdk装上.没有安装经验的同学可以参考我的另一篇在linux服务器上安装jdk的教程.传送门:在linux服务器上安装jdk yum安装Jenkins 这里推荐使用yum方

最新在Linux服务器上安装VNC并进行远程桌面连接

一 VNC简介 VNC 是在基于Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美. 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect.大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer):另外一部分是服务器端的应用程序(vncse

在阿里云Linux服务器上安装MySQL

申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务器. 操作系统:Red Hat Enterprise Linux Server 5.4 64位. CPU:1核 内存:512M 硬盘空间:20G 带宽:1Mbps. 今天在这台云服务器上安装了基本环境(JDK.Tomcat和MySQL).本文主要在阿里云Linux云服务器安装MySQL全过程,以及对安装时遇到的问题进行记录. 下载MySQL服务器和客户端 访问MySQL的官网,进入其下载页面(http://dev.m

linux服务器上安装mysql

mysql版本:mysql-5.6.44-linux-glibc2.12-x86_64.tar linux操作系统和版本信息: 1.检查linux服务器上是否已安全mysql [[email protected] ~]# rpm -qa|grep -i mysql 未安装则无任何信息返回,若已安装则会返回已安装的版本信息,可通过--nodeps关键字卸载mysql [[email protected] local]#rpm -e 返回的mysql版本信息 --nodeps 2.添加分组和用户 [

在阿里云Ubuntu 14.04 Linux服务器上安装docker

参考 How To Install and Use Docker: Getting Started 这篇最靠谱的文档在阿里云 Ubuntu  14.04 服务器上成功安装 docker . 1)更新 apt 的安装包列表 sudo apt-get update 2)升级所有已安装的包 sudo apt-get -y upgrade 3)添加 apt 验证密钥 sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E8

linux服务器上安装JDK

1.下载jdk 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择对应jdk版本下载.(可在Windows下下载完成后,通过文件夹共享到Linux上) 2.登录linux,切换至root su root 获取root用户权限,当前工作目录不变(需要root密码)或sudo -i 不需要root密码直接切换成root(需要当前用户密码) 3.在usr下建立java安装

Linux 服务器上安装Webmin

1.登陆到服务器 2.新建一个文件夹来保存webmin,建议在个人用户下新建., 3.下载Webmin的安装文件, 命令是:wget http://prdownloads.sourceforge.net/webadmin/webmin-1.670.tar.gz 到官网下载也可,我喜欢用wget命令来下载. 4.解压缩文件,命令是:tar -zxvf webmin-1.670.tar.gz 5.进入webmin的解压缩目录,然后运行setup.sh,命令为:./setup.sh 6.一路回车即可安

Linux服务器上安装部署Tomcat服务器

作为一个J2EE项目的容器,JDK是必须的,首先到JDK官网,下载一个适用于Linux操作系统的JDK.可百度搜索JDK,直接进去官网JDK1.8下载地址,由于JDK随时都在更新中,克根据自己的需求去下载.  建议下载的安装包(反正我是喜欢用这个). 使用 命令将JDK解压或解压后复制在目录 /usr/lib 中 , 随后配置环境变量: 编辑文件,于文件末尾加上一下内容:  此处还需将安装好的JDK设置为默认JDK: 最后,重启服务器,输入java,javac命令测试即可. 同样的,建议到官网下