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 郵件組涵蓋了一些關鍵內容:
- Mark 宣佈 PEP 初稿發布: http://mail.python.org/pipermail/python-dev/2011-March/109509.html
- 該PEP第二版草稿發布: http://mail.python.org/pipermail/python-dev/2011-March/109786.html
- Vinay 最初用 C 實現啟動器的詢問: http://mail.python.org/pipermail/python-dev/2011-June/112145.html
- Vinay 宣佈 C 語言實現完成: http://mail.python.org/pipermail/python-dev/2011-July/112184.html
- Vinay 的測試號召站: http://mail.python.org/pipermail/python-dev/2011-July/112251.html
沒有留言:
張貼留言