四月 28th, 2010

python 安装 soap

在python中安装soap,虽然有很多选择,不过耐用的还是soappy。
soappy算是超级老鸟了,最新版还是05年出的所以在安装上安装问题多多。除此以外,非常伤心的是它使用的pyxml直接不更新了。pyxml的最后更新时间是04年。
Twisted 也有soap但是支持并不好。
1. 安装 PyXML(http://pypi.python.org/pypi/PyXML)

wget http://downloads.sourceforge.net/pyxml/PyXML-0.8.4.tar.gz?modtime=1101741917&big_mirror=0
wget https://svn.pardus.org.tr/pardus/2009/stable/programming/language/python/PyXML/files/pyxml-0.8.4-python-2.6.patch
patch -p0 < pyxml-0.8.4-python-2.6.patch
wget http://svn.pardus.org.tr/pardus/2009/stable/programming/language/python/PyXML/files/non_ascii_fix.patch
patch -p0 < non_ascii_fix.patch
wget https://svn.pardus.org.tr/pardus/2009/stable/programming/language/python/PyXML/files/CVE-2009-2625.patch
patch -p0 < CVE-2009-2625.patch
python setup.py install

安装完成,检查
import xml
xml.__version__
‘0.8.4′
2.安装fpconst直接用setuptools安装
3.安装 SOAPpy

wget http://sourceforge.net/projects/pywebsvcs/files/SOAP.py/0.12.0_rc1/SOAPpy-0.12.0.tar.gz/download
 
#改掉:
	SOAPpy-0.12.0/SOAPpy/Client.py
	SOAPpy-0.12.0/SOAPpy/GSIServer.py
	SOAPpy-0.12.0/SOAPpy/Server.py
	SOAPpy-0.12.0/SOAPpy/Types.py
	#把 from __future__ import nested_scopes 提到最前面去
 
python setup.py install #运行安装程

pyxml这个版本会报:as = ParsedAxisSpecifier.ParsedAxisSpecifier(‘descendant-or-self’) 错误,是因为as 是关键字 【貌似到目前正式版本问题还没解决,不过有其他小版本】
pyxml WARNING: this is no longer maintained! Do not use in new code!
xpath 在里面是用不了的,如果要用推荐elementtree
如:

from elementtree.ElementTree import ElementTree
doc = ElementTree(file='tst.xml')
for e in mydata.findall('/foo/bar'):
	print e.get('title').text

安装基本就完成了,很多东西要自己的搞,通过这篇文章希望可以帮助那些gg过来的人快速的解决那点问题。

One Response to “python 安装 soap”

  1. python很强大,不过soap这个模块太老,有新的就好了。

Write A Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">