lxml官方吹牛说它是Python中功能最全、最易用的XML和HTML的解析器。
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
参考:https://pypi.python.org/pypi/setuptools
sudo apt-get install python-setuptools python-pip
sudo apt-get install python2.7-lxml python3-lxml
参考:http://lxml.de/installation.html
easy_install pyquery
如果直接使用pip或者easy_install安装,可能会出现一系列错误,例如:
SF问答中一般的解决方法是:
sudo apt-get install libxml2 libxslt1.1 libxml2-dev libxslt1-dev python-libxml2 python-libxslt1 python-dev python-setuptools libxslt-dev zlib1g-dev easy_install lxml || pip install lxml
但我试过之后无一成功(可能是系统及环境不同)…
总结了一下失败的原因,主要是以下依赖包未安装,或者系统swap不够所致:
yum install libxslt-devel libxml2-devel libxsltl libxml python-dev
但其实直接用apt-get安装lxml的时候发现它仅仅依赖于:libxml2、libxslt1.1,
何况这还是官方推荐的安装方法。。因此遇到问题,找官网比先摆渡好。
参考:pip install lxml error、Installing lxml with pip...
模块pymssql安装依赖于freetds,这确实是一个败笔,也是python对SQLServer支持如此之差的一个重要原因。
安装过程同上面的lxml一样跌宕起伏,主要原因出在freetds上。参考国外某大神的博文后解决:
Troubleshooting pymssql installation on Ubuntu,过程如下:
easy_install pymssql
如果上面这条命令执行成功了,那么可以跳过下文……
否则,请先下载pymssql源码:
wget -q https://github.com/pymssql/pymssql/archive/master.zip unzip -q master.zip cd master sudo python setup.py install
如果出现错误提示:Error: _mssql.c:8:22: fatal error: pyconfig.h: No such file or directory
sudo apt-get install python-dev
如果还报错: Error: _mssql.c:314:22: fatal error: sqlfront.h: No such file or directory
sudo apt-get install freetds-dev
然后再安装setup.py 就OK了!
事实证明本案的关键在于:Python和 freeTDS 的开发包是否安装。
最后,只能用一句作者的原话来表达我的心情:
Installing pymssql on Ubuntu 13.10 was not an easy task.
深表同意。与本人的经历如出一辙。
Python跨平台相比Java跨平台的一大劣势是,很多py模块依赖或绑定部分linux下的C-Lib包,
譬如上文所述的libxml、libxslt以及freetds,expect之于Pexpect 等等;
虽然Java中也有不少Native实现,但基本上跨平台兼容性都比较好。