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 郵件組涵蓋了一些關鍵內容:

沒有留言:

張貼留言