天天看點

script python / TurboGears / Django / Pylons / ZOPE1. TurboGears

擷取python的版本号

http://hi.baidu.com/huangboxiang/blog/item/2377c3ca99d826f552664fde.html

1、在Linux指令行底下可以通過python -V檢視python版本号

[[email protected] ~]# python -V 2>&1 | awk '{print $2}'

2、直接在指令行底下輸入

[[email protected] ~]$python

則傳回以下内容,也可以“肉眼”獲得python的版本号

Python 2.5.1 (r251:54863, Apr 28 2009, 18:32:15)

[GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

3、通過python的platform子產品擷取版本号

[[email protected] ~]$python -c 'import platform; print platform.python_version()'

2.5.1

4、通過python的sys子產品擷取版本号

$[[email protected] ~]$python -c 'import sys; print sys.version' 2>&1

2.5.1 (r251:54863, Apr 28 2009, 18:32:15)

[GCC 3.4.5 20051201 (Red Hat 3.4.5-2)]

可以通過提取相應字段擷取版本号

$[[email protected] ~]$python -c 'import sys; print sys.version' 2>&1 | awk '$1~/[0-9]\.[0-9].*/{print $1}'

用Python建立最簡單的web伺服器

http://www.cnblogs.com/xuxn/archive/2011/02/14/build-simple-web-server-with-python.html

利用Python自帶的包可以建立簡單的web伺服器。在DOS裡cd到準備做伺服器根目錄的路徑下,輸入指令:

  • python -m Web伺服器子產品 [端口号,預設8000]

例如:

  • python -m SimpleHTTPServer 8080

然後就可以在浏覽器中輸入

  • http://localhost:端口号/路徑

來通路伺服器資源。 

例如:

  • http://localhost:8080/index.htm(當然index.htm檔案得自己建立)

其他機器也可以通過伺服器的IP位址來通路。

這裡的“Web伺服器子產品”有如下三種:

  • BaseHTTPServer: 提供基本的Web服務和處理器類,分别是HTTPServer和BaseHTTPRequestHandler。
  • SimpleHTTPServer: 包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。
  • CGIHTTPServer: 包含處理POST請求和執行CGIHTTPRequestHandler類。

天外飛仙級别的Linux Shell指令

http://www.bitscn.com/os/linux/201008/190267.html

2.以HTTP方式共享目前檔案夾的檔案 預設端口為8000,可自定義修改為80端口

$ python -m SimpleHTTPServer      

這指令啟動了Python的SimpleHTTPServer子產品,考慮到Python在絕大多數的Linux發行版當中都預設安裝,是以這個指令很可能是最簡單的跨平台傳檔案的方法。

指令執行後将在本機8000端口開放HTTP服務,在其他能通路本機的機器的浏覽器打開ttp://ip:8000即打開一個目錄清單,點選即可下載下傳。

非常簡單的Python HTTP服務

http://renxiangzyq.iteye.com/blog/492073

http://www.2cto.com/kf/201106/93738.html

http://lvqingboy-163-com.iteye.com/blog/794804

RedHat 系統開啟pyhton http 服務

[[email protected] soft]# which python

/usr/bin/python

[[email protected] soft]# whereis python

python: /usr/bin/python2.4 /usr/bin/python /usr/lib/python2.4 /usr/include/python2.4 /usr/share/man/man1/python.1.gz

[[email protected] soft]# /usr/bin/python -V

Python 2.4.3

[[email protected] soft]# python -m SimpleHTTPServer

[[email protected] soft]# python -m SimpleHTTPServer 80

蘋果系統開啟python http 服務

lindowsmatoMacBook-Pro:~ lindows$ which python

/usr/bin/python

lindowsmatoMacBook-Pro:~ lindows$ whereis python

/usr/bin/python

lindowsmatoMacBook-Pro:~ lindows$ /usr/bin/python -V

Python 2.6.1

lindowsmatoMacBook-Pro:~ root# python -m SimpleHTTPServer 80

Serving HTTP on 0.0.0.0 port 80 ...

如果你隻想讓這個HTTP伺服器服務于本地環境,那麼,你需要定制一下你的Python的程式,下面是一個示例:

import sys

import BaseHTTPServer

from SimpleHTTPServer import SimpleHTTPRequestHandler

HandlerClass = SimpleHTTPRequestHandler

ServerClass  = BaseHTTPServer.HTTPServer

Protocol     = "HTTP/1.0"

if sys.argv[1:]:

    port = int(sys.argv[1])

else:

    port = 8000

server_address = (127.0.0.1, port)

HandlerClass.protocol_version = Protocol

httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()

print "Serving HTTP on", sa[0], "port", sa[1], "..."

httpd.serve_forever()

注意:所有的這些東西都可以在 Windows 或 Cygwin 下工作。

http://www.inatv.com/admin/junshi/upimages/200773092430238.jpg

Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny2 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g Resin/3.1.8 Server at www.inatv.com Port 80

Python Tutorial

http://www.woodpecker.org.cn:9081/projects/pythontutorial/py2.5/html/tut/tut.html

一位大牛整理的Python資源

http://gaokun.iteye.com/blog/266878

http://onlypython.group.iteye.com/group/topic/7588

1. 概述

“工欲善其事,必先利其器”,如果說程式設計是程式員的手藝,那麼IDE就是程式員的吃飯家夥了。

IDE的全稱是Integration Development Environment(內建開發環境),一般以代碼編輯器為核心,包括一系列周邊元件和附屬功能。一個優秀的IDE,最重要的就是在普通文本編輯之外, 提供針對特定語言的各種快捷編輯功能,讓程式員盡可能快捷、舒适、清晰的浏覽、輸入、修改代碼。對于一個現代的IDE來說,文法着色、錯誤提示、代碼折 疊、代碼完成、代碼塊定位、重構,與調試器、版本控制系統(VCS)的內建等等都是重要的功能。以插件、擴充系統為代表的可定制架構,是現代IDE的另一 個流行趨勢。

IDE并非功能越多越好,因為更多的功能往往意味着更大的複雜度,這不但會分散程式員本來的精力,而且還可能帶來更多的錯誤。隻要基本功能滿足需要,符合自己使用習慣的IDE才是最好的IDE。程式員的邏輯永遠是:用最合适的工具做最合适的事情。

正因為此,比起大而全的IDE,以單純的文本編輯器結合獨立的調試器、互動式指令行等外部小工具也是另一種開發方式。由于python本身的簡潔,是以在寫小的代碼片段以及通過示例代碼學習時這種方式尤其适合。

2. 常用IDE簡介

這裡簡單介紹Python程式員中最流行的若幹IDE。

2.1. 内置IDE

Python的各個常見發行版都有内置的IDE,雖然它們的功能一般不夠強大完整,但簡便易得就是最大的優勢。 對于初學者來說,它們也是上手的最好選擇,可以讓你更專注于語言本身而不會被繁複的IDE分散精力。

2.1.1. IDLE

IDLE是Python标準發行版内置的一個簡單小巧的IDE,包括了互動式指令行、編輯器、調試器等基本元件,足以應付大多數簡單應用。 IDLE是用純Python基于Tkinter編寫的的,最初的作者正是Python之父Guido van Rossum本人。

http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html -- 《One Day of IDLE Toying》,圖文并茂的入門文章

http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/IDLE-chinese.htm -- 《One Day of IDLE Toying》中文版

2.1.2. PythonWin

PythonWin是Python Win32 Extensions(半官方性質的python for win32增強包)的一部分,也包含在ActivePython的windows發行版中。如其名字所言,隻針對win32平台。

總體來說,PythonWin是一個增強版的IDLE,尤其是易用性方面(就像windows本身的風格一樣)。除了易用性和穩定性之外,(簡單的)代碼完成和更強的調試器都是相對于IDLE的明顯優勢。

Python Win32 Extensions的下載下傳頁:http://sourceforge.net/projects/pywin32/

ActivePython的首頁:http://www.activestate.com/Products/ActivePython/

2.1.3. MacPython IDE

MacPythonIDE是Python的Mac OS發行版内置的IDE,可以看作是PythonWin的Mac對應版本,由Guido的哥哥Just van Rossum編寫。

2.2. Emacs和Vim

Emacs和Vim号稱是這個星球上最強大(以及第二強大)的文本編輯器,對于許多程式員來說是萬能IDE的不二(三?)選擇。 比起同類的通用文本編輯器如UltraEdit,Emacs和Vim由于擴充功能的強大,可以針對性地搭建出更為完整便利的IDE。

    *

      Emacs -- Emacs及python-mode的簡介

    *

      Vim -- Vim 通用編輯環境使用技巧推介

    *

      PyIDEguider、VimPython、VimPythonTDD -- 社群内幾篇介紹在Vim環境下進行Python開發的文章

雖然二者掌握之後可以說是終身受益,但學習曲線都比較陡峭。由于曆史原因,它們的設計理念都是基于純ascii字元環境,GUI相對來說不是支援 的重點,大量使用快捷鍵才能帶來最大的便利。對于初學者來說,相對而言Vim更簡潔一些,但Emacs的GUI與一般編輯器的習慣更接近些。

2.3. Eclipse + PyDev

Eclipse是新一代的優秀泛用型IDE,雖然是基于Java技術開發的,但出色的架構使其具有不遜于Emacs和Vim的可擴充性,現在已經成為了許多程式員最愛的瑞士軍刀。

    *

      Eclipse -- Eclipse內建開發環境使用說明,簡略介紹了Eclipse插件開發的基礎知識

PyDev是Eclipse上的Python開發插件中最成熟完善的一個,而且還在持續的活躍開發中。除了 Eclipse平台提供的基本功能之外,PyDev的代碼完成、文法查錯、調試器、重構等功能都相當出色,可以說在開源産品中是最為強大的一個,許多貼心 的小功能也很符合編輯習慣,用起來相當順手。

速度和資源占用是緻命傷,在低配置機器上跑起來比較吃力。

    *

      PyDev -- PyDev開發環境簡介

Eclipse的首頁:http://www.eclipse.org/

PyDev的首頁:http://pydev.sourceforge.net/

PyDev使用手冊:http://www.fabioz.com/pydev/manual_101_root.html (Eng) 此入門手冊從安裝到開發過程中的使用,并且是圖文顯示,推薦大家使用.

技術開發參考: 用 Eclipse,PyDev 和 Ant 進行 Python 開發,http://www-128.ibm.com/developerworks/cn/opensource/os-ecant/index.html

2.4. UliPad

UliPad是國内知名pythoner,也是PythonCN社群核心成員limodou開發的IDE。

2.5. SPE (Stani's Python Editor)

很有特色的一個輕量級python IDE,功能很全面而不失小巧輕便,特别适合寫小的腳本。

即時生成代碼的UML類圖是獨此一家的功能,此外還特别注重與外部工具的內建。例如,內建了wxGlade作為所見即所得的GUI開發環境,內建了Winpdb作為調試器,甚至還能與3D模組化工具Blender內建。

SPE沒有管理Project的概念,這樣開發多檔案多目錄組成的項目時會不太友善。此外界面設計相對來說不夠細緻,也算是瑕疵。

SPE的首頁:http://stani.be/python/spe/

2.6. Boa Constructor

專為快速開發基于wxPython的GUI程式而設計的IDE,支援“所見即所得”的控件拖放式開發,被稱為Python世界中的Delphi。

曾被sourceforge推選為"Project of the Month",不過最近開發速度趨于緩慢。

Boa Constructor的首頁:http://boa-constructor.sourceforge.net/

2.7. Eric3

Eric3的首頁:http://www.die-offenbachs.de/detlev/eric3.html

2.8. WingIDE

Wingware公司開發的商業産品,總體來說是目前最為強大專業的Python IDE,開源項目可以申請到免費的license。

最大的缺點和PyDev一樣,速度較慢,資源占用多。

Wingware的首頁:http://wingware.com/

2.9. Komodo

另一個優秀的商業産品,由ActiveState公司開發,是一個泛用的腳本語言IDE,除了Python外還支援javascript、perl、php、ruby、tcl等多種語言。

Komodo的首頁:http://www.activestate.com/Products/Komodo/

2.10. Textmate

Textmate是Mac OSX平台的Cocoa原生程式,類似UltraEdit。以靈活的Bundles和Code Snippets著稱,支援大多數的腳本語言。Rails的全體開發團隊都用這個Editor。類似Emacs/vi,需要配合ctags分析 python代碼結構,可以很容易的做unittest等功能。需要特别指出的是它對于Django的model和template、以及Zope都有專 門的支援。

Textmate的首頁:http://macromates.com/

2.11. 綜合比較

swordsp的個人建議:

    *

      初學者首選IDLE / PythonWin / MacPython

    *

      Emacs / Vim / Eclipse+PyDev是強大且通用的解決方案,取決于你更熟悉哪個環境,如果都沒有基礎,更推薦Eclipse+PyDev。

    * SPE是純Python實作的簡潔型IDE中功能最完善的,寫小腳本的時候很友善。

    *

      Boa長處在基于wxPython的快速GUI開發。

    * 如果有條件選擇商業工具,WingIDE或者Komodo都是優秀的産品。

其它比較Python IDE的文章:

http://www-128.ibm.com/developerworks/cn/linux/sdk/python/charm-14/index.html

"Charming Python"專欄作者David Mertz的測評文章,寫于2001年,許多内容已經過于陳舊了,但仍有參考價值。

http://spyced.blogspot.com/2005/09/review-of-6-python-ides.html -- review-of-6-python-ides.html

http://spyced.blogspot.com/2006/02/pycon-python-ide-review.html -- pycon-python-ide-review.html

較新的兩篇Python IDE測評文章(原位址需代理才能通路,後一個附件連結是本地的備份),分别比較了PyDev、Eric3、Boa Constructor、BlackAdder、Komodo、WingIDE、SPE。

3. IDE之外的工具

3.1. 互動式指令行(interactive console)

3.1.1. IPython

IPython的首頁:http://ipython.scipy.org/

3.2. 調試工具(Debugger)

3.2.1. Winpdb

Winpdb的首頁:http://www.digitalpeers.com/pythondebugger/

3.3. 其它支援 Python 的編輯器

3.3.1. Leo

基于全新的Literate Programming(文學化程式設計)理念的開發工具,詳細的介紹參見:LeoEnvironment

Leo的首頁:http://webpages.charter.net/edreamleo/front.html

3.3.2. Bluefish

Bluefish 通常被認為是一個類似 Homesite 的網頁編輯器,但事實上它不僅如此。它應該是一個通用的文本編輯器,支援 C、PHP、Python、Ruby、Perl、Java、Shell、Tcl 等許多種程式設計語言,支援文法高亮、自動換行、自動關閉 HTML 标簽等,可同時編輯多個文檔。

Bluefish 當然不能算是一款 Python 的 IDE 工具,但如果做 Web 相關的開發( DjanGo、TurboGears 等),用它來寫程式顯然很友善。而且 Bluefish 相當友好,基本上不用學就會用,可以使我等菜鳥盡快将精力轉移到 Python 的學習上來。

Bluefish 官方站在 http://bluefish.openoffice.nl/index.html 目前可以運作在大多數類 UNIX 作業系統上。

TurboGears

http://wiki.woodpecker.org.cn/moin/TurboGears

script python / TurboGears / Django / Pylons / ZOPE1. TurboGears
script python / TurboGears / Django / Pylons / ZOPE1. TurboGears

Contents

  1. TurboGears
    1. 特性
      1. MVC
      2. 全文搜尋
    2. 官方文檔
    3. 體驗
      1. 安裝
    4. 開發
  2. 回報

::-- gasolin 2006-10-15 更新

1. TurboGears

  • TurboGears -- 提供網頁前端到後端整合的網站架構

python 上有無數網頁開發模組可選擇. 随着選擇的增加, 要挑選合适的模組會花上開發者寶貴的時間精力, 衆多選項的負面效果開始讓 python 開發者感到喘不過氣.

你可以想像 TurboGears 就是 python 網頁開發界的 Ubuntu 釋出套件 (Linux Distribution), 整合各種TurboGears 推薦的開源模組, 提供簡單易用的介面與一緻的系統體驗.

1.1. 特性

  • 用最好的開源元件 (Best of Breed)
  • 互動式開發
  • 體驗自由組合的樂趣

1.1.1. MVC

TurboGears 使用 MVC 的方式組織網站, 提供網頁架構快速生成工具, 開發中自動即時重載的網頁伺服器,

  • 使用 easy_install 指令就可以從 TurboGears Cogbin 中輕易擴充功能.
  • 組成 TurboGears 的元件主要可分為
    1. ORM (面向對象的方法存取資料庫, SQLObject 或 SQLAlchemy)
    2. Template 樣闆系統 (目前已知支援 10 種以上樣闆包含 Django Template, kid)
    3. 控制器核心 (CherryPy )
    4. AJAX 庫 (各種 Javascript 庫, Mochikit)

TurboGears 現也已提供網站程式中最常用的網頁認證模組, 網頁注冊模組, 網頁發信模組等.

TurboGears 使用 widgets, 從系統(而非樣闆)支援網頁元素重用. (各種樣闆系統都可以用來開發 網頁元素).

網頁工具箱 ToolBox 裡面包含設計/維護網站資料庫的工具, 線上多國語言翻譯工具等.

TurboGears 大部分元件都可 自由替換

1.1.2. 全文搜尋

  • 把Xapian搞到TurboGears裡面用 ,BTW,python Challege據說就是他搞的
    • script python / TurboGears / Django / Pylons / ZOPE1. TurboGears

1.2. 官方文檔

  • http://docs.turbogears.org/
    • script python / TurboGears / Django / Pylons / ZOPE1. TurboGears

Rapid Web Applications with TurboGears

1.3. 體驗

  • 肯定來過(rockety )的一些筆記:http://moyuer.cn/?x=note_TurboGears

1.3.1. 安裝

從網站 下載下傳 tgsetup.py, 确認機器連在網路上, 在指令列裡執行

$ python tgsetup.py

TurboGears 即自動從網路上下載下傳必要的安裝檔案.

安裝完成後,如果使用資料庫:MYSQL,SQLITE等等還要下載下傳相關的DRIVER,不知道那個元件還要python-profiler

1.4. 開發

20分鐘wiki [原文 ]

script python / TurboGears / Django / Pylons / ZOPE1. TurboGears

20分鐘wiki指南/1

20分鐘wiki指南/2

20分鐘wiki指南/3

20分鐘wiki指南/4

Lazy’s world [lazy的體驗]

用 mochikit 實作 Ajax 導航

catwalk 小探

利用 widgets.Form 實作月曆表單

end