1. 基本安装
2. Python文档
2.1 推荐资源站点
2.2 其余参考资料
2.3 代码示例
3. 经常使用工具
3.1 Python IDE
个人IDE选择经验 其实我如今只用Vim和Pydev了html
3.2 内置类库使用参考
3.3 经常使用第三方类库
- NumPy Python的数学运算库,有时候一些别的库也会调用里面的一些功能,好比数组什么的;
- Pil Python下著名的图像处理库Pil;
- SimPy 利用Python进行仿真、模拟的解决方案;
- Matplotlib 听说是一个用来绘制二维图形的Python模块,它克隆了许多Matlab中的函数, 用以帮助Python用户轻松得到高质量(达到出版水平)的二维图形;
- Graphviz 与 Matplotlib 不一样,这个东西能画:有向图、网络结构、有限状态机等等。自己不是 Python 实现的,可是能找到 Python 封装。
- Crypto python的加解密扩展模块;
- Python for CJK 提供与python有关的CJK语言支持功能:转码、显示之类。
- Psyco、Pyrex:两个用于提升Python代码运行效率的解决方案;若是对性能还不满意,能够试试这样:用 Python 写本身的 C Module。
- Pyflakes、PyChecker、PyLint:都是用来作Python代码语法检查的工具。
- 图形界面开发库:
- wxPython 基于wxWindows的易用且强大的图形界面开发包wxPython;wxPython发行版还自带了PyCrust、PyShell、PyAlaCarte和PyAlaMode等几个工具,分别是图形界面Shell和代码编辑器等,分别具备不一样特色能够根据本身的须要选用。
- PyQt 通常认为综合各平台上的表现,PyQt比wxPython能提供更为可靠的表现,较少遇到稀奇古怪的Bug。只是Qt虽然LGPL了,但是PyQt对商业软件仍然是收费的,Nokia刚开始作LGPL的Qt绑定——PySide,可是还谈不上成熟。
- 在Mac上安装PyQt的详细步骤 PyQt在Win和Linux上都有可直接安装的二进制包,只有Mac没有。不过按照这篇文档来作,也是不难(我已试过,一切靠谱)。
- PyGtk Qt永远的竞争者,在Win和Linux下表现都还不错,Mac下新的本地化移植绕过了系统自带的X11服务,性能大为提高,只是对输入法和字体支持等还有欠缺。
- Tornado 非阻塞、高性能、可扩展的 Web Server 实现,源自FriendFeed。
- http://avc.inrim.it/html/ 比MVC模式更方便易用的开发框架,主要是帮助透明地完成界面控件与后台数据之间的内容绑定。该框架支持GTK、QT、TK、wxWidgets等主要具备Python封装的GUI开发框架。
- pygame 用Python帮助开发游戏的库,也能够用这个来播放视频或者音频什么的,大概依靠的是SDL;
- py2exe win下将Python程序编译为可执行程序的工具,是一个让程序脱离Python运行环境的办法,也能够生成Windows服务或者COM组件。其余能完成Python脚本到可执行文件这个工做的还有Gordon McMillan's Installer、Linux/Unix专用的freeze、Mac专用的py2app,另外setuptools可能也能帮上点。不过此类工具不免与一些模块有一些兼容性的问题,须要现用现测一下。总之这个主题能够参考How to Distribute Commercial Python Applications。
- 嵌入式数据库:BerkeleyDB的Python版,固然还有其余的好多。
- PEAK提供一些用于实现自动化集群测试的重要基础类库,好比超轻量线程框架、分布式代码执行等。
- greenlet 是PEAK给出的一种进程内的线程模型实现,自称是Stackless项目的副产品。其实这是一种伪线程,也就是说greenlet间切换须要明确指定下一步切换到哪块指令继续执行,而没有被执行的代码就被暂时挂起了。这里面greenlet间的执行顺序是彻底肯定的,而且是非并发的,就不能解决长时间大量资源占用的操做会致使程序无响应的问题。但greenlet能够用来减小资源死锁、互斥形成的资源消耗(代码被阻塞时,能够切换先去执行其余未被阻塞的部分),所以用来响应按钮点击等是挺好用的。
- greenlet 如今再也不是 pylib 的组成部分了,而是一个独立的名为 greenlet 的 pypi 包,能够经过 easy_install 安装。
- Eventlet 是基于 greenlet 完成的一个高并发网络库,提供“线程”池、消息队列等许多很是方便的机制,比直接用 greenlet 要方便得多。而且 Eventlet 源自著名的虚拟现实项目——第二人生,是通过现实考验的可靠解决方案。
- Pyro 一个Python的分布式对象系统,提供面向对象风格的RPC功能。
- PycURL 传说这是实现Python下多线程网页抓取的效率最高的解决方案,本质是对libcurl C语言库的封装。其实Twisted也能够定制成为一个网页抓取工具的。
- Protocol Buffers Google提供的高效数据序列化解决方案,比基于XML的数据序列化方案在数据大小和编解码效率上都大约高一个数量级。固然,Google本身也说这种办法也不是用哪都合适,一来Protocol Buffers不大适合用来处理格式化的文本,另外一方面其本质是一个传输协议的生成语言,可能在传输的内容相对固定时,才值得专门生成一套这样的解析器。
- pyinotify 利用操做系统自身提供的Notify机制以最高的效率监控文件变化。
- Scrapy 是一个网络爬虫框架,能够很是容易地经过定制规则获得所需的爬网器。基于 Twisted 实现。
- chardet 一个猜想网页编码(好比utf-8仍是gb18030)的库,会根据HTTP参数、HTML标签、XML标签中的相关声明来进行猜想。另有一个非Python实现的Enca也能够提供相似的功能。
- JPype Python里调用Java类库、Java代码的桥接解决方案(因Limodou在ChinaUnix上说起而得知)。JPype使用要点
- µTidylib 著名html整理、排错、自动修正工具HTML Tidy Library的Python封装。一般在正式开始分析html以前,先用这个东西预处理一下,后面的工做会轻松、准确得多~
- Fudge 被HD的项目组认为是最好的Python Mock模块(也即冒烟测试)。
- nose 测试脚本自动发现、自动执行辅助工具。文档见nose documentation。
- Coverage.py Python 测试代码覆盖率统计工具,已经内置于 nose 。
- Heapy 对 Python 程序进行内存占用剖析的模块,Guppy-PE 项目的组成部分之一,被 Scrapy 等项目用做内存泄露的调试工具。相似的还有:
- Gluttony Python 模块之间依赖关系图的自动生成工具。
3.4 其余东西
3.5 有意思的东西
3.6 普通但没准有用的东西
- pyForum:纯Python实现的论坛程序中最接近实用程度的一个,基于web2py实现。