2011年8月24日 星期三

認識核心團隊:Benjamin Peterson

原文網址 Meet the Team: Benjamin Peterson

這篇文章是「認識核心團隊」系列文章的一部分,目的是對 Python 核心開發團隊的成員來個簡短的介紹

姓名:Bejamin Peterson
位置:美國明尼蘇達州 (Minnesota, USA)
首頁:http://benjamin-peterson.org
部落格:http://pybites.blogspot.com

你使用 Python 有多長時間了?

三年半

你成為核心開發者有多久了?

到今年三月二十五號剛好滿三年

你是如何開始成為核心開發者的?你記得你第一次的提交嗎?

我第一次提案被 Guido 本人否決了 。幸運的是,我繼續堅持了下去並且也有些 patch 被接受了。我想我第一份提交是調整 Misc/ACKS 檔案的順序。

你現在負責 Python 的哪些部分

我喜歡語法分析器、編譯器以及直譯器的核心部分,不過大家都知道除了Windows 相關之外,我涉足於幾乎每一個 Python 的核心開發部分。

當你沒有在處理 Python 核心開發相關工作的時候,你都用 Python 來做些什麼?

我用它來實作 Python 直譯器 (http://pypy.org)!說真的,我打從心裡就是一個 Python 的實作者。 我是 six (http://pypi.python.org/pypi/six) 的創造者,six 是一個處理 Python 2 和 Python 3 之間相容性的程式庫。

當你沒在寫程式的時候你都在做些啥?

做音樂,吹豎笛還有讀些數學書,另外有時也會跑去爬山。

Python 核心開發輔導計畫

原文網址 The Python Core Mentorship Program .

Jesse Noller 在最近公告了 Python核心輔導 計畫 ( the Python Core Mentorship Program ), 這個計畫要讓學生,以及其他的專案的開發者可以得到導師的指導來降低進入 Python 核心開發的門檻。 而導師將會由有貢獻過 Python 核心程式碼經驗的程式設計師來擔任。

需要你的貢獻

不論你的經驗是多是少,導師們都會盡快回答問題,以親切的態度來給予回應。 想要貢獻程式碼的人會在整個開發流程中全程得到指導。像是如何在 mailing list 中討論問題,使用 bug tracker, Mercurial, code review,以及其他各種幫助。

Early Success

這個計畫目前已經在成功運作之中,參加者已經活躍地提交了許多patch。 在 mailing list 中也有相當多有建設性的討論,帶領人們在各個議題之中往正確方向前進。

準則

當想要貢獻程式碼時,新手可能不知道該如何拿捏與導師互動的分寸,也不知道如何善用mailing list。 因此、我們在這個 website 擬定了一份準則來舒緩疑慮。 長遠來看,這不只是對 Python 核心開發有所幫助, Jesse 以及其他的導師更希望這個計畫可以成為其他專案的典範,也期待可以增加 Python 核心開發者的多樣性。

報名吧

整個計畫是運作在 mailing list 上,也有一個清楚又明確的 website 。 你可能是個正要加入社群開始貢獻程式碼的菜鳥,也可能是個老手但依然對各方面充滿疑問。 這是一個絕佳的好機會來深入Python核心。加入我們,開始問問題吧,你將會在實作中得到寶貴的經驗。

2011年8月8日 星期一

Windows 的 Python 啟動器 ( Launcher )

原文網址: A Python Launcher For Windows

Mark Hammond ( pywin32 的作者及 Windows 上的 Python 長期支持者 ) 寫了 PEP 397 ,描述了 Windows 下新的 Python 啟動器。Vinay Sanjip ( 標準程式庫 logging 模組的作者 ) 最近實做了這個啟動器,下載地址是 https://bitbucket.org/vinay.sajip/pylauncher/downloads

啟動器允許 windows 上的 Python 腳本 ( .py and .pyw 檔案 ) 選擇要使用的 Python 版本,並可同時運行 Python 2 與 Python 3。

Windows 使用者可考慮下載並測試啟動器,幫助 Python 開發人員解決剩下的問題。該啟動器是獨立打包的應用程式,將支援目前可用的 Python 版本。我們的目標是當完成了一個啟動器,就將其加入 Python 3.3 中 ( 當然我們將會提供獨立下載包給之前版本的使用者 )

這個啟動器有兩個可用的版本 - launcher.msi 會安裝到 Program Files 目錄,而``launchsys.msi`` 會安裝到 Windows 的 System32 目錄底下。 ( 我們也提供 64位元 windowsws 的安裝版 )

啟動器的一些細節

完整的 PEP 397 啟動器行為規範,概括如下:

  • 該起動器提供兩個可執行檔 - py.exe ( 命令視窗版 ) 和 ``pyw.exe`` ( GUI 版 )。
  • 啟動器註冊了 .py ( CLI ) 和 .pyw ( GUI ) 檔案的副檔名 ( file extension ) 。
  • 當執行腳本時,啟動器會從腳本中找出 Unix 風格的 Shebang 識別 #!``。他會識別出可執行的 ``python ( 系統默認的 Python 版 ), python2 ( 預設的 Python 2 發行版 ) 和 python3 ( 預設的 Python 3 發行版 ) 這幾個字樣。各使用者或各臺機器可輕鬆地客製化設定確切的細節。
  • 單獨執行 py.exe 命令,會啟動 Python 交互解譯器。可由命令列參數設定欲使用的 Python 版本, py -2 啟動 Python 2 , py -3 啟動 Python 3,和 py 啟動預設的 Python 版本。

簡單的使用說明

安裝完成後,啟動器會自動關聯 .py and .pyw 檔案。 除非你有更改,腳本會使用機器預設的 Python 執行。有一樣設定你可能會喜歡,如果你經常使用命令視窗的話,增加 .py 到環境變數 PATHEXT 中,腳本就不用再額外開啟命令視窗執行了。

指定腳本使用 Python 2,只要簡單的將下面格式寫在第一行即可:

#!/usr/bin/env python2

( 上為相容於 Unix 的格式,如果你不需要與 Unix 相容,可用 #!python2 代替 )

另外,如果你想要指定腳本使用 Python 3,需在第一行增加:

#!/usr/bin/env python3

你也可以使用下列指令來啟動 Python 解譯器:

# Default version of Python py # Python 2 py -2 # Python 3 py -3

上述設定要能執行,必須先將 py.exe 加入環境變數。 launchsys 版的啟動器安裝程式會自動幫你做這個設定,但是需要你手動將 launcher.msi 的安裝目錄 ( C:\Program Files\Python Launcher ) 加入至環境變數 PATH 中。

延伸閱讀

下面幾個 python-dev 郵件組涵蓋了一些關鍵內容:

2011年8月7日 星期日

CPython 3.2.1 釋出

原文網址: CPython 3.2.1 Released

Python 的核心開發者、發佈經理(Release Manager) Georg Brandl 代表 Python-dev 團隊宣布 CPython 3.2.1 正式釋出。Windows 的安裝套件與 tarball 包已經在 7 月 10 日釋出。各位可以考慮升級到這個版本囉!

What's New 文件詳細列出 3.2 版的新特性,原始碼裡的 Misc/NEWS 檔案則列出所修正的 bug。

如果你在該釋出版或其他版本有發現任何問題的話,歡迎回報至 http://bugs.python.org/ 給開發者們。