转 《python开发_经常使用的python模块及安装方法》

http://www.cnblogs.com/hongten/p/hongten_python_more_modules.htmlphp

adodb:咱们领导推荐的数据库链接组件
bsddb3:BerkeleyDB的链接组件
Cheetah-1.0:我比较喜欢这个版本的cheetah
cherrypy:一个WEB framework
ctypes:用来调用动态连接库
DBUtils:数据库链接池
django:一个WEB framework
docutils:用来写文档的
dpkt:数据包的解包和组包
MySQLdb:链接MySQL数据库的
py2exe:用来生成windows可执行文件
Pylons:咱们领导推荐的web framework
pysqlite2:SQLite的链接组件
pythonwin:Python的Windows扩展
setuptools:无奈,PEAK的一套python包管理机制
sqlalchemy:数据库链接池
SQLObject:数据库链接池
twisted:巨无霸的网络编程框架
wxPython-2.6:由于须要保持与linux相同的版本才没用最新的,GUI编程框架
pypcap:抓包的
python-dnet:控制网络安全的其余设备
pyevent:Python的事件支持
pydot:画图的,graphiz
sendpkt:Python发包
simplejson:JSON的支持

DPKT:raw-scoket网络编程
Cx-oracle:链接oracle的好东东
Mechanize:爬虫链接网站经常使用
PIL:图像处理工具包

reportlab for PDF 文件。
PyQt4 for GUI界面
feedparser: rss解析
chardet:编码检测
scons: 项目构建工具,写好了模板用起来仍是很方便的
scapy: 网络包构建分析框架,可编程的wireshark,有兴趣的google “Silver Needle in the Skype”
pefile: windows pe文件解析器
winpdb: 本身的程序或者用别的库不太明白的时候就靠它了
pywmi: 省了好多折腾功夫
pylint: 培养良好的编码习惯

下面是准备用的,不作评论:
pygccxml
pyparsing
pymacs
idapython
paimei
pysvn
pyLucene
wikidpadhtml


1.Karrigell                                    http://karrigell.sourceforge.net/
1.The Standard Python Libary     http://effbot.org/librarybook/
1.Python操做PDF的Libary             http://reportlab.org/
1.Python cURL Libary                   http://pycurl.sourceforge.net/
1.urlgrabber                                http://linux.duke.edu/projects/urlgrabber/
1.MySQL-Python                          http://mysql-python.sourceforge.net/
1.pyScripter
2.Python for Delphi                      http://mmm-experts.com/Products.aspx
1.Python Cookbook                     http://aspn.activestate.com/ASPN/Python/Cookbook/
1.pygame                                    http://www.pygame.org/news.html
1.pymedia                                   http://www.pymedia.org
1.pydbf                                       http://dbfpy.sourceforge.net/
1.Pexpect                                   http://pexpect.sourceforge.net/
1.dabo
desktop application frameworks  http://dabodev.com/

1.pySerial
http://pyserial.sourceforge.net/
http://wiki.woodpecker.org.cn/moin/PySerial
1.python’s doc
http://wiki.woodpecker.org.cn/moin/PythonZhDoc
1.The Visual Module of VPython(3D)
http://vpython.org/index.html
1.PyLucene
http://pylucene.osafoundation.org/
1.DBUils
http://www.webwareforpython.org/DBUtils
1.http://happyiww.popo.blog.163.com/blog/
a good people’s blog
1.AppleScript,OSAComponents,HtmlCalendar
http://freespace.virgin.net/hamish.sanderson/index.html
1.Pypcap
http://code.google.com/p/pypcap/
http://monkey.org/~dugsong/dpkt/
http://www.winpcap.org/install/default.htm

python-memcached client module for memcached
Kodos,python的正则表达式调试工具,
PLY (Python Lex-Yacc)
http://www.dabeaz.com/ply/
正在用它写汇编器.
wxPython - GUI Framework
omniORBpy - CORBA Library
ZODB3 - an OODB implement
ReportLab - PDF generating solution
numpy+scipy+matplotlib

hachoir 各类多媒体元数据解析
python-orge 演示用
数据库的:
sqlalchemy
sqlobject
MySQL-python (easy_install的时候就是这个名字)

routes
beaker
两个模板引擎:
genshi
mako
paster

另外还有知道的
PyCrypto 加密的
paramiko 这个能够帮你写sftp,比twisted里面的那个好用一些
twisted 写服务器玩的
PyOpenGL
PyGame
Psyco 传说能够加速你的python程序
PIL (Python Image Library) 处理图片
PyObjC 这个是苹果上用的,写Cocoa程序

Python desktop client GUI application:
wxPython
PyOpenGL
PyXML
ZSI
davlib.py
ChartDirector
一个支持多种语言的图表库,不管是效果仍是效率,都比jfreechart高。python

###############  本身补充一下 ##################
游戏3D  pyglet、pythonOgre、 blender(c),k-3d(c++),vpython,panda3d
===============================================
python包包收集
 catswhocode.com  的 jbj 
mysql

Graphical interface wxPython http://wxpython.org  
Graphical interface pyGtk http://www.pygtk.org  
Graphical interface pyQT http://www.riverbankcomputing.co.uk/pyqt/  
Graphical interface Pmw http://pmw.sourceforge.net/  
Graphical interface Tkinter 3000 http://effbot.org/zone/wck.htm  
Graphical interface Tix http://tix.sourceforge.net/  
       
Database MySQLdb http://sourceforge.net/projects/mysql-python  
Database PyGreSQL http://www.pygresql.org/  
Database Gadfly http://gadfly.sourceforge.net/  
Database SQLAlchemy http://www.sqlalchemy.org/  
Database psycopg http://www.initd.org/pub/software/psycopg/  
Database kinterbasdb http://kinterbasdb.sourceforge.net/  
Database cx_Oracle http://www.cxtools.net/default.aspx?nav=downloads  
Database pySQLite http://initd.org/tracker/pysqlite  
       
MSN Messenger msnlib http://auriga.wearlab.de/~alb/msnlib/  
MSN Messenger pymsn http://telepathy.freedesktop.org/wiki/Pymsn  
MSN Messenger msnp http://msnp.sourceforge.net/  
Network Twisted http://twistedmatrix.com/  
Images PIL http://www.pythonware.com/products/pil/  
Images gdmodule http://newcenturycomputers.net/projects/gdmodule.html  
Images VideoCapture http://videocapture.sourceforge.net/  
       
Sciences and Maths scipy http://www.scipy.org/  
Sciences and Maths NumPy http://numpy.scipy.org//  
Sciences and Maths numarray http://www.stsci.edu/resources/software_hardware/numarray  
Sciences and Maths matplotlib http://matplotlib.sourceforge.net/  
       
Games Pygame http://www.pygame.org/news.html  
Games Pyglet http://www.pyglet.org/  
Games PySoy http://www.pysoy.org/  
Games pyOpenGL http://pyopengl.sourceforge.net/  
       
Jabber jabberpy http://jabberpy.sourceforge.net/  
       
Web scrape http://zesty.ca/python/scrape.html  
Web Beautiful Soup http://crummy.com/software/BeautifulSoup  
Web pythonweb http://www.pythonweb.org/  
Web mechanize http://wwwsearch.sourceforge.net/mechanize/  
       
Localisation geoname.py http://www.zindep.com/blog-zindep/Geoname-python/  
       
Serial port pySerial http://pyserial.sourceforge.net/  
Serial port USPP http://ibarona.googlepages.com/uspp  
       
Parallel Port pyParallel http://pyserial.sourceforge.net/pyparallel.html  
       
USB Port pyUSB http://bleyer.org/pyusb/  
       
Windows ctypes http://starship.python.net/crew/theller/ctypes/  
Windows pywin32 http://sourceforge.net/projects/pywin32/  
Windows pywinauto http://www.openqa.org/pywinauto/  
Windows pyrtf http://pyrtf.sourceforge.net/  
Windows wmi http://timgolden.me.uk/python/wmi.html  
       
PDA/GSM/Mobiles pymo http://www.awaretek.com/pymo.html  
PDA/GSM/Mobiles pyS60 http://sourceforge.net/projects/pys60  
       
Sound pySoundic http://pysonic.sourceforge.net/  
Sound pyMedia http://pymedia.org/  
Sound FMOD http://www.fmod.org/  
Sound pyMIDI http://www.cs.unc.edu/Research/assist/developer.shtml  
       
GMail libgmail http://libgmail.sourceforge.net/  
Google pyGoogle http://pygoogle.sourceforge.net/  
Expect pyExpect http://pexpect.sourceforge.net/  
WordNet pyWordNet http://osteele.com/projects/pywordnet/  
Command line cmd http://blog.doughellmann.com/2008/05/pymotw-cmd.html  
Compiler backend llvm-py http://mdevan.nfshost.com/llvm-py/  
3D VPython http://vpython.org

encryption               
linux

pyDes DES加密解密模块http://twhiteman.netfirms.com/des.html  
parsing pyparsing 相似lex/yacc但更简单的词法/语法分析器pyparsing.wikispaces.com


Tkinter———— Python默认的图形界面接口。
Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对 Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一块儿开发的, 目的是为了简化用户接口的设计过程。Tk工具包由许多不一样的小部件,如一个按钮、一个滚动条等。经过Tk提供的这些小部件,咱们就可快速地进行GUI开 发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各类平台下都能使用。
Python Imaging Library(PIL)————python提供强大的图形处理的能力,并提供普遍的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进 行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
Pmw(Python megawidgets)Python超级GUI组件集————一个在python中利用Tkinter模块构建的高级GUI组件,每一个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。
PyXML———— 用Python解析和处理XML文档的工具包,包中的4DOM是彻底相容于W3C DOM规范的。它包含如下内容:
xmlproc: 一个符合规范的XML解析器。
Expat: 一个快速的,非验证的XML解析器。 还有其余
和他同级别的还有 PyHtml PySGML
PyGame———— 用于多媒体开发和游戏软件开发的模块。
PyOpenGL———— 模块封装了“OpenGL应用程序编程接口”,经过该模块python程序员可在程序中集成2D和3D的图形。
NumPy、NumArray和SAGE———— NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的低层代码使用C来编写,因此速度的优点很 明显。NumPy是Numarray的后继者,用来代替NumArray。SAGE是基于NumPy和其余几个工具所整合成的数学软件包,目标是取代 Magma, Maple, Mathematica和Matlab 这类工具。
MySQLdb模块———— 用于链接MySQL数据库。还有用于zope的ZMySQLDA模块,经过它就可在zope中链接mysql数据库。
PyGTK ———— 用于python GUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的那个库。有了它,你彻底能够自信的尝试本身制造Photoshop
PyQt ———— 用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是 Scintillar编辑器类的Qt接口。
PyMedia ———— 用于多媒体操做的python模块。它提供了丰富而简单的接口用于多媒体处理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平台下使用。
Psyco ———— 一个Python代码加速度器,可以使Python代码的执行速度提升到与编译语言同样的水平。
Python-ldap ———— 提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
smtplib模块 ———— 发送电子邮件。
ftplib模块 ———— 定义了FTP类和一些方法,用以进行客户端的ftp编程。咱们可用python编写一个本身的ftp客户端程序,用于下载文件或镜像站点。若是想了解ftp协议的详细内容,请参考RFC959。
xmpppy模块 ———— Jabber服务器采用开发的XMPP协议,Google Talk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,咱们能够经过该模块与Jabber服务器通讯,是否是很Cool。
原文地址:http://xinsync.xju.edu.cn/index.php/archives/4401
============================================c++

我经常使用的几个第三方 Python 库收藏  做者:赖勇浩(http://blog.csdn.net/lanphaday
xPython程序员

若是你以前是 windows 程序员,用 MFC 或者 WIN32API 开发界面程序,那进入 Python 国度最好的 GUI 选择应该是 wxPython。它是 wxWidgets 的 Python Bind,与 wxWidgets 的开发完美同步,最为重要的一点是它的消息机制与 MFC 颇为类似,之前在 MFC 的经验彻底能够稍做变化就套用在 wxPython 上面。在 WIN32 开发中,最讨厌的一环确定有 WM_SIZE 消息的处,在主窗口大小变化的时候,保持控件布局在 WIN32 是一件麻烦事。这件事情 wx 解决得很是完美,它的sizer 概念可让我轻松地在不一样窗口尺寸的状况下保持完美的控件布局。另外若是你已经讨厌了 MFC 的 doc-view 模型,wx 也能够给你一个新的选择;若是你很是喜欢 doc-view 模型,放心,在 wx 中仍然能够轻松实现,之前的思想依然能够在这里发挥余热。
wxPython 有两个封装,一个 PythonCard,另外一个是 dabo。前者是 wxPython 的有限封装,不支持 wxPython 的所有特性,它的目标是让 wxPython 更加 Pythonic。后者比 PythonCard 要庞大很多,确切来讲,它应该是一个三层架构的 C/S 模式的开发框架。若是你想开发基于数据库的应用(如 MIS、ERP 等)用 dabo 是一个不错的选择;另外,若是你以前习惯了 VB、VFP、Delphi 等 RAD 开发环境,dabo 并不比这些昂贵的工具差多少哦!web

py2exe正则表达式

按照邪恶的 windows 思惟,编写的应用若是不编译出一个 .exe 文件恐怕是算不得“软件”的,py2exe 做用正是把你的 .py 脚本变成 .exe 文件,一般它会把脚本打包到一个 .zip 文件中去,但也你能够经过修改 setup.py 脚本把全部的脚本、依赖的 dll 等所有打包到一个 exe 中去,看起来跟 VC、VB 编译出来的程序没有什么两样!
若是你的客户须要在 windows 下使用你的应用程序,py2exe 是你不可或缺的工具。我就是用它打包由 wxPython 写的小工具给公司里的游戏策划用的。算法

psyco

脚本的执行效率多少有点差强人意,虽然优化起来并非难事,但若是有简单的方法,近乎不用修改源代码,那固然值得去关注一下。psyco 的神奇在于它只须要在代码的入口处调用短短两行代码,性能就能提高 40% 或更多,真可谓是立竿见影!
若是你的客户以为你的程序有点慢,敬请不要急着去优化代码,psyco 或许能让他当即改变见解。psyco 堪称 Python 的 jit,有许多潜力能够挖掘,若是剩下来给你优化性能的时间已经很少,请立刻去阅读它的手册,有许多招儿轻松优化性能。

PIL

PIL 是 Python 的图像处理库,个人见解是强到没得说,简单到没得说。它能够打开数十种图像格式,常见的 jpg/png/bmp 等固然不在话下;此外还提供许多图像处理函数,如图像加强、滤波算法等,详情能够参考我之前的一篇文章《用Python 作图像处理》(http://blog.csdn.net/lanphaday/archive/2007/10/28/1852726.aspx)和《计算图像类似度》(http://blog.csdn.net/lanphaday/archive/2008/04/24/2325027.aspx)。

MySQLdb

这是 Python 对开源数据库 Mysql 的支持,官网在http://sourceforge.net/projects/mysql-python。支持 Mysql 3.23-5.1 全系列版本,Python 版本的要求是 2.3-2.5。MySQLdb 是 Python DB API-2.0 的实现,如今已经很成熟了。最新的版本是 1.2.2 。
若是从事服务器开发,那少不得跟数据库链接池打交道,这时你可使用 DBUtils 或 jonpy 两个开源程序库。其中 DBUtils 是一套数据库链接池库,而 jonpy 则包括了 CGI 以及数据库链接池等多个功能,请在阅读手册后选择合适的本身库。

pyprocessing 
Python 解释器里的 GIL(全局解释器锁)使得 Python 在多核时代有点尴尬——这个支持原生线程的脚本语言居然不能经过多线程利用多个 CPU 内核同时并发计算。pyprocessing 没有尝试去除 GIL,而是剑走偏锋,尝试从多进程的方式来帮助 Python 走出困境。结果就是使用 pyprocessing 建立进程和进程间通讯不只像使用内置的 threading 模块那么简单,甚至还更加简单。pyprocessing 不只能够经过本机 socket 和管道进行通讯,并且封装得极为完美,它的 Queue 实现用起来跟内置的 Queue 没啥两样,但它是一个进程间共享的队列哦!
pyprocessing 在 py2.6 和 py3.0 中已经做为内置模块了,也算是开发社区对 pyprocessing 项目的确定吧。若是你用 Python 开发服务器应用,特别是网络游戏这样的应用,pyprocessing 怎么能够不去关注一下!

=============================================================================

Python模块安装
1. 单文件模块
直接把文件拷贝到$python_dir/lib

2. 多文件模块,带setup.py
python setup.py install

3. egg文件
1) 下载ez_setup.py,运行python ez_setup
2) easy_install *.egg
虽然Python的模块能够拷贝安装,可是通常状况下推荐制做一个安装包,即写一个setup.py文件来安装。
setup.py文件的使用:

% python setup.py build #编译 
% python setup.py install    #安装 
% python setup.py sdist     #制做分发包 
% python setup.py bdist_wininst #制做windows下的分发包 
% python setup.py bdist_rpm 

setup.py文件的编写
 
setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出全部的package,能够用自带的find_packages来动态获取package。因此setup.py文件的编写实际是很简单的。
简单的例子: 
setup.py文件

 from setuptools import setup, find_packages
 setup(
        name = " mytest " ,
        version = " 0.10 " ,
        description = " My test module " ,
        author = " Robin Hood " ,
        url = " http://www.csdn.net " ,
        license = " LGPL " ,
        packages = find_packages(),
        scripts = [ " scripts/test.py " ],
        )

mytest.py

import sys
 def get():
      return sys.path 

scripts/test.py

import os 
 print os.environ.keys()  

setup中的scripts表示将该文件放到 Python的Scripts目录下,能够直接用。 
OK,简单的安装成功,能够运行所列举的命令生成安装包,或者安装该python包。

本机测试成功(win32-python25)!
==============================================================
setuptools它能够自动的安装模块,只须要你提供给它一个模块名字就能够,而且自动帮你解决模块的依赖问题。通常状况下用setuptools给安装的模块会自动放到一个后缀是.egg的目录里。

首先,安装setuptools这个东西,先去下载一个脚本: http://peak.telecommunity.com/dist/ez_setup.py 下载完后直接执行它就会帮你把setuptools给装好。
以后,安装模块的使用方法就是使用一个叫easy_install的命令,在Windows里,这个命令在python安装目录下的scripts里面,因此须要把scripts加到环境变量的PATH里,这样用起来就更方便,linux下不须要注意这个问题。
安装软件只须要执行:easy_install 模块名
===================================================
pyinstaller 来创建linux下的python独立执行文件

如下内容假定已安装好Python 2.4/2.5 
1、下载并编译pyinstaller(只需作一次,之后可直接作第二步) 
1.下载pyinstaller,如今的版本是1.3 
(1)wget http://pyinstaller.hpcf.upr.edu/source/1.3/pyinstaller_1.3.tar.gz 

2.解包进入源码目录 
(1)tar zxv pyinstaller_1.3.tar.gz 
(2)cd pyinstaller-1.3/source/linux 

3.编译源代码 
(1)python Make.py  生成python的 .pyc文件 
如无错误,则出现以下提示(只有一行): 
Now run "make" to build the targets: ../../support/loader/run ../../support/loader/run_d 
(2)make 链接生成linux的 .o 文件 

4.生成编译配置文件 
(1)python Configure.py  生成config.dat配置文件 

2、编译独立运行的python可执行文件 
1.生成spec文件 
python pyinstaller-1.3/Makespec.py --onefile --upx linuxlaptop.py 

参数说明: 
--onefile 生成单文件 
--upx          生成压缩的文件(可减少执行文件体积,需先安装upx软件包) 
2.生成最终的可执行文件 
python pyinstaller-1.3/Build.py linuxlaptop.spec 

执行完成后将在当前目录生成可执行的linuxlaptop文件,若有问题欢迎与我交流:linuxlaptop.cn。
========================================================================
用cx_Freeze把python打包成exe可执行文件 

之前历来没有试过把Python打包,昨天试了试,发现打包也是一件挺容易的事情.Python打包有不少种选择.cx_Freeze是一种, py2exe也能够,还有一个pyinstaller.我用的是cx_Freeze,而py2exe由于sf实在太慢连不上.因此没办法,只好先用能够下载的.cx_Freeze的资料比较少,不过不是太痛苦,由于好像cx会比py2exe简便易用,并且好像是跨平台的,不错不错.
    cx_Freeze的用法就一个命令FreezePython.exe,打包也很快捷:
    FreezePython.exe  --install-dir="/your/path/to/install" app.py 
    而后就会把app.py以及其依赖的全部模块,包和库所有归整后放到--install-dir 所指的路径下.
    碰到两个问题,一个是文件编码,一开始老是说找不到gb2312的编码,后面google了一下,发现要这么作:     
在app.py中添加from encodings import gbk 一句,而后就能够了.    
若是用到了gettext,要注意po文件中的
    "Content-Type: text/plain; charset=gbk/n"
    "Content-Transfer-Encoding: cp936/n"     
这两句要这样写,字符集要用gbk,不要用gb2312.
    另外一个问题是控制台隐藏:   
默认cx_Freeze打包后都是控制台程序,就算你打包一个wxPython程序,也会有一个黑黑的控制台在后面作背景,要去掉控制台就要这样:
    FreezePython.exe --install-dir="/your/install/path" --base-binary=Win32GUI.exe app.py 
    加了--bash-binary 后就能够只运行前台的界面了,不过若是程序出错,会弹出一个错误对话框,说找不到traceback模块.
    这就要在app.py文件中加一句:
    import traceback 

    把错误反馈以对话框形式弹出.

原文:http://blog.csdn.net/hengcai001/article/details/4166996

相关文章
相关标签/搜索