python模块下载过程_常用的python模块及安装方法
bsddb3:BerkeleyDB的連接組件
Cheetah-1.0:我比較喜歡這個版本的cheetah
cherrypy:一個WEB framework
ctypes:用來調(diào)用動態(tài)鏈接庫
DBUtils:數(shù)據(jù)庫連接池
django:一個WEB framework
docutils:用來寫文檔的
dpkt:數(shù)據(jù)包的解包和組包
MySQLdb:連接MySQL數(shù)據(jù)庫的
py2exe:用來生成windows可執(zhí)行文件
Pylons:我們領導推薦的web framework
pysqlite2:SQLite的連接組件
pythonwin:Python的Windows擴展
setuptools:無奈,PEAK的一套python包管理機制
sqlalchemy:數(shù)據(jù)庫連接池
SQLObject:數(shù)據(jù)庫連接池
twisted:巨無霸的網(wǎng)絡編程框架
wxPython-2.6:因為需要保持與linux相同的版本才沒用最新的,GUI編程框架
pypcap:抓包的
python-dnet:控制網(wǎng)絡安全的其他設備
pyevent:Python的事件支持
pydot:畫圖的,graphiz
sendpkt:Python發(fā)包
simplejson:JSON的支持
DPKT:raw-scoket網(wǎng)絡編程
Cx-oracle:連接oracle的好東東
Mechanize:爬蟲連接網(wǎng)站常用
PIL:圖像處理工具包
reportlab for PDF 文件。
PyQt4 for GUI界面
feedparser: rss解析
chardet:編碼檢測
scons: 項目構建工具,寫好了模板用起來還是很方便的
scapy: 網(wǎng)絡包構建分析框架,可編程的wireshark,有興趣的google “Silver Needle in the Skype”
pefile: windows pe文件解析器
winpdb: 自己的程序或者用別的庫不太明白的時候就靠它了
pywmi: 省了好多折騰功夫
pylint: 培養(yǎng)良好的編碼習慣
下面是準備用的,不做評論:
pygccxml
pyparsing
pymacs
idapython
paimei
pysvn
pyLucene
wikidpad
python-memcached client module for memcached
Kodos,python的正則表達式調(diào)試工具,
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 各種多媒體元數(shù)據(jù)解析
python-orge 演示用
數(shù)據(jù)庫的:
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高。
############### 自己補充一下 ##################
游戲3D pyglet、pythonOgre、 blender(c),k-3d(c++),vpython,panda3d
===============================================
python包包收集 catswhocode.com 的 jbj
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發(fā)展的書寫和圖形設備。Tcl(工具命令語言)是個宏語言,用于簡化shell下復雜程序的開發(fā),Tk工具包是和Tcl一起開發(fā)的, 目的是為了簡化用戶接口的設計過程。Tk工具包由許多不同的小部件,如一個按鈕、一個滾動條等。通過Tk提供的這些小部件,我們就可快速地進行GUI開 發(fā)。Perl、Scheme等語言也利用Tk庫進行GUI開發(fā)。Tkinter是跨平臺,在各種平臺下都能使用。
Python Imaging Library(PIL)————python提供強大的圖形處理的能力,并提供廣泛的圖形文件格式支持,該庫能進行圖形格式的轉(zhuǎn)換、打印和顯示。還能進 行一些圖形效果的處理,如圖形的放大、縮小和旋轉(zhuǎn)等。是Python用戶進行圖象處理的強有力工具。
Pmw(Python megawidgets)Python超級GUI組件集————一個在python中利用Tkinter模塊構建的高級GUI組件,每個Pmw都合并了一個或多個Tkinter組件,以實現(xiàn)更有用和更復雜的功能。
PyXML———— 用Python解析和處理XML文檔的工具包,包中的4DOM是完全相容于W3C DOM規(guī)范的。它包含以下內(nèi)容:
xmlproc: 一個符合規(guī)范的XML解析器。
Expat: 一個快速的,非驗證的XML解析器。 還有其他
和他同級別的還有 PyHtml PySGML
PyGame———— 用于多媒體開發(fā)和游戲軟件開發(fā)的模塊。
PyOpenGL———— 模塊封裝了“OpenGL應用程序編程接口”,通過該模塊python程序員可在程序中集成2D和3D的圖形。
NumPy、NumArray和SAGE———— NumArray是Python的一個擴展庫,主要用于處理任意維數(shù)的固定類型數(shù)組,簡單說就是一個矩陣庫。它的低層代碼使用C來編寫,所以速度的優(yōu)勢很 明顯。NumPy是Numarray的后繼者,用來代替NumArray。SAGE是基于NumPy和其他幾個工具所整合成的數(shù)學軟件包,目標是取代 Magma, Maple, Mathematica和Matlab 這類工具。
MySQLdb模塊———— 用于連接MySQL數(shù)據(jù)庫。還有用于zope的ZMySQLDA模塊,通過它就可在zope中連接mysql數(shù)據(jù)庫。
PyGTK ———— 用于python GUI程序開發(fā)的GTK+庫。GTK就是用來實現(xiàn)GIMP和Gnome的那個庫。有了它,你完全可以自信的嘗試自己制造Photoshop
PyQt ———— 用于python的Qt開發(fā)庫。QT就是實現(xiàn)了KDE環(huán)境的那個庫,由一系列的模塊組成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300個類和超過5750個的函數(shù)和方法。PyQt還支持一個叫qtext的模塊,它包含一個QScintilla庫。該庫是 Scintillar編輯器類的Qt接口。
PyMedia ———— 用于多媒體操作的python模塊。它提供了豐富而簡單的接口用于多媒體處理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平臺下使用。
Psyco ———— 一個Python代碼加速度器,可使Python代碼的執(zhí)行速度提高到與編譯語言一樣的水平。
Python-ldap ———— 提供一組面向?qū)ο蟮腁PI,可方便地在python中訪問ldap目錄服務,它基于OpenLDAP2.x。
smtplib模塊 ———— 發(fā)送電子郵件。
ftplib模塊 ———— 定義了FTP類和一些方法,用以進行客戶端的ftp編程。我們可用python編寫一個自己的ftp客戶端程序,用于下載文件或鏡像站點。如果想了解ftp協(xié)議的詳細內(nèi)容,請參考RFC959。
xmpppy模塊 ———— Jabber服務器采用開發(fā)的XMPP協(xié)議,Google Talk也是采用XMPP協(xié)議的IM系統(tǒng)。在Python中有一個xmpppy模塊支持該協(xié)議。也就是說,我們可以通過該模塊與Jabber服務器通信,是不是很Cool。
原文地址:http://xinsync.xju.edu.cn/index.php/archives/4401
============================================
我常用的幾個第三方 Python 庫收藏 作者:賴勇浩(http://blog.csdn.net/lanphaday)
xPython
如果你之前是 windows 程序員,用 MFC 或者 WIN32API 開發(fā)界面程序,那進入 Python 國度最好的 GUI 選擇應該是 wxPython。它是 wxWidgets 的 Python Bind,與 wxWidgets 的開發(fā)完美同步,最為重要的一點是它的消息機制與 MFC 頗為相似,以前在 MFC 的經(jīng)驗完全可以稍作變化就套用在 wxPython 上面。在 WIN32 開發(fā)中,最討厭的一環(huán)肯定有 WM_SIZE 消息的處,在主窗口大小變化的時候,保持控件布局在 WIN32 是一件麻煩事。這件事情 wx 解決得非常完美,它的sizer 概念可以讓我輕松地在不同窗口尺寸的情況下保持完美的控件布局。另外如果你已經(jīng)討厭了 MFC 的 doc-view 模型,wx 也可以給你一個新的選擇;如果你非常喜歡 doc-view 模型,放心,在 wx 中仍然可以輕松實現(xiàn),以前的思想依然可以在這里發(fā)揮余熱。
wxPython 有兩個封裝,一個 PythonCard,另一個是 dabo。前者是 wxPython 的有限封裝,不支持 wxPython 的全部特性,它的目標是讓 wxPython 更加 Pythonic。后者比 PythonCard 要龐大不少,確切來說,它應該是一個三層架構的 C/S 模式的開發(fā)框架。如果你想開發(fā)基于數(shù)據(jù)庫的應用(如 MIS、ERP 等)用 dabo 是一個不錯的選擇;另外,如果你之前習慣了 VB、VFP、Delphi 等 RAD 開發(fā)環(huán)境,dabo 并不比這些昂貴的工具差多少哦!
py2exe
按照邪惡的 windows 思維,編寫的應用如果不編譯出一個 .exe 文件恐怕是算不得“軟件”的,py2exe 作用正是把你的 .py 腳本變成 .exe 文件,通常它會把腳本打包到一個 .zip 文件中去,但也你可以通過修改 setup.py 腳本把所有的腳本、依賴的 dll 等全部打包到一個 exe 中去,看起來跟 VC、VB 編譯出來的程序沒有什么兩樣!
如果你的客戶需要在 windows 下使用你的應用程序,py2exe 是你不可或缺的工具。我就是用它打包由 wxPython 寫的小工具給公司里的游戲策劃用的。
psyco
腳本的執(zhí)行效率多少有點差強人意,雖然優(yōu)化起來并不是難事,但如果有簡單的方法,近乎不用修改源代碼,那當然值得去關注一下。psyco 的神奇在于它只需要在代碼的入口處調(diào)用短短兩行代碼,性能就能提升 40% 或更多,真可謂是立竿見影!
如果你的客戶覺得你的程序有點慢,敬請不要急著去優(yōu)化代碼,psyco 或許能讓他立即改變看法。psyco 堪稱 Python 的 jit,有許多潛力可以挖掘,如果剩下來給你優(yōu)化性能的時間已經(jīng)不多,請馬上去閱讀它的手冊,有許多招兒輕松優(yōu)化性能。
PIL
PIL 是 Python 的圖像處理庫,我的看法是強到?jīng)]得說,簡單到?jīng)]得說。它可以打開數(shù)十種圖像格式,常見的 jpg/png/bmp 等當然不在話下;此外還提供許多圖像處理函數(shù),如圖像增強、濾波算法等,詳情可以參考我以前的一篇文章《用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 對開源數(shù)據(jù)庫 Mysql 的支持,官網(wǎng)在http://sourceforge.net/projects/mysql-python。支持 Mysql 3.23-5.1 全系列版本,Python 版本的要求是 2.3-2.5。MySQLdb 是 Python DB API-2.0 的實現(xiàn),現(xiàn)在已經(jīng)很成熟了。最新的版本是 1.2.2 。
如果從事服務器開發(fā),那少不得跟數(shù)據(jù)庫連接池打交道,這時你可以使用 DBUtils 或 jonpy 兩個開源程序庫。其中 DBUtils 是一套數(shù)據(jù)庫連接池庫,而 jonpy 則包括了 CGI 以及數(shù)據(jù)庫連接池等多個功能,請在閱讀手冊后選擇合適的自己庫。
pyprocessing
Python 解釋器里的 GIL(全局解釋器鎖)使得 Python 在多核時代有點尷尬——這個支持原生線程的腳本語言竟然不能通過多線程利用多個 CPU 內(nèi)核同時并發(fā)計算。pyprocessing 沒有嘗試去除 GIL,而是劍走偏鋒,嘗試從多進程的方式來幫助 Python 走出困境。結果就是使用 pyprocessing 創(chuàng)建進程和進程間通信不僅像使用內(nèi)置的 threading 模塊那么簡單,甚至還更加簡單。pyprocessing 不僅可以通過本機 socket 和管道進行通信,而且封裝得極為完美,它的 Queue 實現(xiàn)用起來跟內(nèi)置的 Queue 沒啥兩樣,但它是一個進程間共享的隊列哦!
pyprocessing 在 py2.6 和 py3.0 中已經(jīng)作為內(nèi)置模塊了,也算是開發(fā)社區(qū)對 pyprocessing 項目的肯定吧。如果你用 Python 開發(fā)服務器應用,特別是網(wǎng)絡游戲這樣的應用,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 #制作分發(fā)包
% python setup.py bdist_wininst #制作windows下的分發(fā)包
% python setup.py bdist_rpm
setup.py文件的編寫
setup.py中主要執(zhí)行一個 setup函數(shù),該函數(shù)中大部分是描述性東西,最主要的是packages參數(shù),列出所有的package,可以用自帶的find_packages來動態(tài)獲取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 下載完后直接執(zhí)行它就會幫你把setuptools給裝好。
之后,安裝模塊的使用方法就是使用一個叫easy_install的命令,在Windows里,這個命令在python安裝目錄下的scripts里面,所以需要把scripts加到環(huán)境變量的PATH里,這樣用起來就更方便,linux下不需要注意這個問題。
安裝軟件只需要執(zhí)行:easy_install 模塊名
===================================================
pyinstaller 來建立linux下的python獨立執(zhí)行文件
以下內(nèi)容假定已安裝好Python 2.4/2.5
一、下載并編譯pyinstaller(只需做一次,以后可直接做第二步)
1.下載pyinstaller,現(xiàn)在的版本是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文件
如無錯誤,則出現(xiàn)如下提示(只有一行):
Now run "make" to build the targets: http://www.cnblogs.com/support/loader/run http://www.cnblogs.com/support/loader/run_d
(2)make 連接生成linux的 .o 文件
4.生成編譯配置文件
(1)python Configure.py 生成config.dat配置文件
二、編譯獨立運行的python可執(zhí)行文件
1.生成spec文件
python pyinstaller-1.3/Makespec.py --onefile --upx linuxlaptop.py
參數(shù)說明:
--onefile 生成單文件
--upx 生成壓縮的文件(可減小執(zhí)行文件體積,需先安裝upx軟件包)
2.生成最終的可執(zhí)行文件
python pyinstaller-1.3/Build.py linuxlaptop.spec
執(zhí)行完成后將在當前目錄生成可執(zhí)行的linuxlaptop文件,如有問題歡迎與我交流:linuxlaptop.cn。
========================================================================
用cx_Freeze把python打包成exe可執(zhí)行文件
以前從來沒有試過把Python打包,昨天試了試,發(fā)現(xiàn)打包也是一件挺容易的事情.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了一下,發(fā)現(xiàn)要這么做:
在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
把錯誤反饋以對話框形式彈出.
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的python模块下载过程_常用的python模块及安装方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 列表中dict中key排序
- 下一篇: websocket python爬虫_p