[《Twisted网络编程必备》翻译] 第1章

1.0 快速开始

在你使用Twisted进行开发之前,你应该下载并安装。这一章讲解在各种操作系统下的安装过程。也包括将Twisted实用工具加入到路径和熟悉文档。其他问题可以到Twisted社区提问。



--------------------------------



1.1 安装Twisted

首先应该下载Twisted用于安装。可以到http://twistedmatrix.com/projects/core/下载。(by gashero)为了安装附加属性,还可以安装另外两个可选软件包。

1.1.1 下面该如何做?
到http://twistedmatrix.com下载最新版本的Twisted。然后安装PyOpenSSL(一个Python开源OpenSSL库),这个软件包用于给Twisted提供加密传输支持(SSL)。最后,安装PyCrypto,一个包含了Python安全算法的包,用于提供SSH支持。这些软件包的下载地址在后面各个节中指定。
为了使用Twisted并不一定要安装PyOpenSSL和PyCrypto。但是不安装这些,将无法使用Twisted的SSL和SSH功能,其他功能还是可用的。

1.1.1.1 Windows
到http://twistedmatrix.com/projects/core/下载Windows版Python2.4安装包。这个二进制包包含了Twisted的核心功能,包括大量的扩展包和协议支持。如果需要安装更多的例子,可以到http://twistedmatrix.com/products/download下载"Twisted Dependencies for Windows"。这个安装包已经包含了PyOpenSSL和PyCrypto。
这些页面有可能已经移动到其他页面中了,并且增加了一些新功能。如果找不到这些连接,可以尝试从http://twistedmatrix.com访问。
如果一次下载了这三个软件包,运行Twisted安装程序。这是一个小的安装包,可以自动检测Python安装路径,下一步运行PyOpenSSL和PyCrypto安装包。这些都是很简单的,也只需要很少的几秒钟。
当编译Twisted模块时,可能需要一点时间,进度条会显示当前状态。解包也会耗费几分钟。
证实是否安装成功的方法是导入twisted包。
$ python
... ...
>>> import twisted
>>>
如果"import twisted"执行成功而没有错误,则已经安装好了Twisted。

1.1.1.2 MAC OS X, Linux, 与BSD

很多Linux和BSD的发行版,包括Debian、Ubuntu、Gentoo、Red Hat、FreeBSD等等已经预先安装了Twisted了,而且PyOpenSSL和PyCrypto也是可用的。可以检查你的OS是否被Twisted下载页所提及,或者搜索已经安装包历史可以看到。如果已经安装了,最好确保版本是Twisted 2.0或更高,而不是1.3的release版本。
如果没有预安装Twisted,则需要下载源码来安装。




--------------------------------



1.2 从源码安装

如果你的操作系统上没有预安装Twisted,则需要从源代码安装。不必担心,从源码安装对于Python也很简单。

1.2.1 下面如何做

首先,下载完整的Twisted源码包。(by gashero)附带的包可以让Twisted功能更多。运行本书的大多数例子都需要完整的安装。一旦下载了软件包,就解压到工作目录。
$ tar -xjvf ~/downloads/TwistedSumo-2005-03-22.tar.bz2
下一步进入解压后的目录。Twisted依赖于zope.interface包,而这个包已经附带在了Twisted Sumo发行包中了。解压ZopeInterface压缩包:
$ tar -xzvf ZopeInterface-3.0.1.tgz
进入ZopeInterface目录,运行命令"python setup.py install"。这个命令将会构建和安装zope.interface包到python安装目录的lib/site-packages/twisted目录。这里是需要Administrator/root权限的。所以使用su或sudo来增加权限级别。
$ cd ZopeInterface-3.0.1
$ python setup.py install
一旦zope.interface安装完成,就可以安装Twisted了。在Twisted目录下,运行"python setup.py install"。这个命令将会编译Twisted的C模块,并安装Twisted:
$ cd TwistedSumo-2005-03-22
$ python setup.py install
如果你已经安装了多个版本的Python,确保Twisted安装在你正在运行的python命令对应的那个版本上。书的例子可以运行在Python 2.3或更高版本。检查你的Python版本通过"python -V"。
祝贺,你已经成功安装了Twisted。现在测试一下是否安装成功,运行Python提示符:
$ python
>>> import twisted
>>>
如果"import twisted"语句执行成功则Twisted安装成功了。
下一步,下载最新版本的PyOpenSSL(http://pyopenssl.sourceforge.net)。PyOpenSSL运行在OpenSSL库之上,所以你需要确保OpenSSL已经安装了。Mac OS X已经默认安装了OpenSSL,并包含了头文件,Linux和BSD的大部分发行版也默认包含了这些。
如果你正巧倒霉安装了一个默认没有OpenSSL库的发行版,则需要下载并安装源码包,从这里(http://www.openssl.org)。
为了安装PyOpenSSL,需要执行如下步骤。首先解压下载文件:
$ tar -zxvf PyOpenSSL-0.6.tar.gz
然后,选择PyOpenSSL库并运行"python setup.py install",使用root用户。
$ cd PyOpenSSL-0.6
$ python setup.py install
当安装完成了,确保OpenSSL包是可用的,可以用导入来测试:
$ python
>>> import OpenSSL
>>> import twisted.internet.ssl
>>> twisted.internet.ssl.SSL
<module 'OpenSSL.SSL' from
'....'>
如果没有看到任何错误,则已经为Twisted成功的安装了SSL支持。
最后一个需要安装的包是PyCrypto。PyCrypto是Python的加密工具集,是A.M.Kuchling开发的一个包含了众多加密算法实现的包。Twisted使用PyCrypto来支持SSH连接。
从(http://www.amk.ca/python/code/crypto.html)来下载,并解压:
$ tar -xzvf pycrypto-2.0.tar.gz
运行很熟悉的"python setup.py install"来安装,在PyCrypto的目录中。
$ cd pycrypto-2.0
$ python setup.py install
确保这个包是否安装成功可以用导入测试。你可以测试twisted.conch.ssh.transport模块可以使用PyCrypto的RSA实现:
$ python
>>> import Crypto
>>> import twisted.conch.ssh.transport
>>> twisted.conch.ssh.transport.RSA
<module 'Crypto.PublicKey.RSA' from
'....'>
如果是如上的显示,则你已经成功的安装了PyCrypto。在这个是时候,你就可以利用Twisted,并且使用SSL和SSH功能了。




--------------------------------




1.3 添加Twisted实用工具到PATH路径参数

Twisted包含了一些实用工具脚本。为了方便使用,应该将他们添加到PATH可以找到的地方。

1.3.1 下面如何做

一般来说,所有添加到PATH的路径都是可以被OS找到的。按照如下步骤来做。

1.3.1.1 Windows

Twisted的使用工具将会安装到Python的scripts目录(典型为c:/Python23/scripts)。Twisted包含了一些菜单设置程序,可以通过Programs->Twisted->Twisted Command Prompt。来进入。使用这个菜单入口可以使用提示符模式来运行实用工具,而且已经自动设置好了PATH路径了。

1.3.1.2 Linux

Twisted的使用工具将会安装到python二进制目录的相同文件夹(可能是/usr/bin或/usr/local/bin),所以需要将这个路径添加到PATH路径。

1.3.1.3 Mac OS X

如果正在使用Mac OS X 2.3 (jaguar)或更新版本,Twisted已经默认安装在了(/System/Library/Frameworks/Python.framework/Versions/Current/bin。将这个路径添加到PATH变量。
$ set PATH=$PATH:/System/Library/Frameworks/Python.framework/Versions/Current/bin




--------------------------------




1.4 使用Twisted的文档

Twisted包含了一些不同类型的文档,包括扩展API文档、HOWTO文档、快速入门和例子程序。十分推荐尽快熟悉这些文档,并在开发过程中提供帮助。

1.4.1 下面如何做

Twisted的文档是在网站上在线观看的。一个完整的API文档在(http://twistedmatrix.com/documents/current/api)。为了编程,你需要多次使用这个文档。这份API文档是由代码自动生成的,所用的工具是Twisted的一个组件叫做lore。
Twisted是由一些子工程构成的,每个子工程包含自己的文档。例如,核心模块文档在(http://twistedmatrix.com/projects/core/documentation),而关于WEB模块的文档在(http://twistedmatrix.com/projects/web/documentation)。在主页有进入每一个子工程的链接。
每个子工程都包含以下类型的文档:
·HOWTOs
描述特殊功能和如何使用这些功能。(by gashero)并不覆盖所有的只是,但可以提供对特定任务的快速入门。包含在HOWTOs中的快速入门(tutorial)叫做"Twisted From Scratch",讲解如何开发一个应用程序,并扩展的讲解一些高级内容。
·Examples
简短而特别的Twisted代码,有点像HOWTOs,但是可以在使用中对特定功能提供有效的帮助。
·Manual pages
这是HTML版本的manpages,描述了如何使用Twisted实用工具。

1.4.2 关于

如果想要浏览文档而不通过浏览器,那么可以直接使用pydoc工具来浏览。pydoc并不能展示Twisted文档中所有的标志,当仍然很有用。Figure 1-1展示了pydoc展示twisted.web.http的信息。
当然,真的想要理解Twisted的工作,可以阅读Twisted的源代码。因为有些模块为了性能而使用了C语言来写,除此之外可以到site-packages/twisted目录中查看。或者打开appropriate.py文件。




--------------------------------




1.5 为自己的问题寻找答案

大多数问题可以从文档中自己找到答案,或者可以从社区得到答案。

1.5.1 下面如何做

有一些有益的社区资源可以提供帮助。首先是邮件列表。"twisted-python"列表是提供一般讨论的。"twisted-web"列表提供了WEB应用程序的讨论。如果问题提错了地方,会被自动转到另外一个讨论组。可以在如下地址申请讨论组:
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
第二,可以在#twisted和#twisted.web这两个IRC频道讨论问题(http://freenode.net)。这些频道是一直开放且有趣的,问题可以很及时的得到回答。如果不要求及时得到答复,最好还是到邮件列表讨论,这种方式提供更加广泛的关注,并且可以让更多的人分享。
最后的可用资源是Planet Twisted社区。地址在http://planet.twistedmatrix.com,这个站点的weblog提供了大量的知识。这是一种很好的获取知识的方式,这也提供了RSS订阅方式http://planet.twistedmatrix.com/rss.xml。
 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值