Twisted是一个非常流行的,完全事件驱动的网络框架。
目前我的项目中,急需要一种流行的、稳定的,C/S结构的Python网络编程框架。我的选择有很多:Socket, SocketServer, Twisted, RPyC, XMLRPC…… 。
Socket是非常古老底层的框架,用它来编程有让人回到远古时代的感觉。SocketServer是比较成熟的模块了,但是它不支持RPC远程调用,且也比较古老了。XMLRPC与SocketServer差不多。RPyC看起来挺新的,但是开发者、文档都很少,稳定性不佳。Twisted是一个成熟、开发者众多、文档丰富的强大的网络框架,因此,我将它作为项目的C/S框架。
Twisted最新版本是11.0,它支持Python2.4-2.7. Twisted支持Python2.3的最近版本是9.0【1】. 下面将描述在Linux下安装Twisted9.0+Python2.3 与 在Windows下安装Twisted11.0+Python2.7的方法。
开源的项目在Windows平台下支持都不是很好。对于Python2.3来说,Twisted是没有已经编译好的.exe版本来支持它的(对于Python2.4-2.7,Twisted都有良好的支持的.exe版本)。因此,为了在Windows的Python2.3下使用Twisted来说,只能自己编译源码。然而,编译源码是非常困难的。我建议还是作罢,不要有这种想法。因此,在Windows下,我们是不能用Python2.3来进行Twisted编程的。也正是这个原因,我在Windows下的开发环境是:Python2.7+Twisted11.0。安装Twisted11.0之后,很有可能,你在导入from twisted.internet import protocol, reactor时会报错:
ImportError: No module named zope.interface
解决办法可参考【2】,下载zope.interface 3.6.2即可解决。
继续阅读