2011年7月12日火曜日

Windows 向け Python ランチャー

原文はこちら: A Python Launcher For Windows

Mark Hammond (pywin32 の作者であり、長い間 Windows 環境の Python サポーター) は、 PEP 397 を提案しました。その PEP は Windows 環境の新たな Python ランチャーについて記述したものです。Vinay Sanjip (標準ライブラリ logging モジュールの作者) は、つい先日そのランチャーを実装して、いま https://bitbucket.org/vinay.sajip/pylauncher/downloads からダウンロードできます。

このランチャーは、Python 2 と 3 が同時に利用可能であり、Windows 環境の Python スクリプト (.py.pyw ファイル) に対して、実行する Python のバージョンを指定します。

Windows ユーザーは、残っている問題を解決する Python 開発者を支援するために、このランチャーをダウンロードしてテストすることを検討してください。このランチャーは、独立したアプリケーションとしてパッケージングされていて、現在、利用できる Python のバージョンをサポートします。目的としては、ランチャーが完成したら、Python 3.3 の一部として提供する予定です。(依然として、以前のバージョンのユーザー向けに独立したアプリケーションとして利用できるようにする予定ではあります)

このランチャーは2つのバージョンが利用できます。 Program Files ディレクトリにインストールする launcher.msi と、Windows の System32 ディレクトリにインストールする launchsys.msi です (64 ビット Windows 向けの 64 ビットバージョンも用意されています) 。

ランチャーについての詳細


ランチャーの動作についての完全な仕様は PEP 397 に記述されています。次に基本的な原則をまとめます。

  • ランチャーは、 py.exe (コンソールバージョン) と pyw.exe (GUI バージョン) の2つの実行可能ファイルを提供する。
  • ランチャーは、 .py (コンソール) と .pyw (GUI) の拡張子をもつファイルのハンドラとして登録される。
  • スクリプトを実行すると、ランチャーは Unix スタイルの #! (シェバング) を探す。そして python (システムデフォルトの Python)、 python2 (デフォルトの Python 2 リリース)、 python3 (デフォルトの Python 3 リリース) の実行可能ファイルを認識する。このバージョン指定の詳細レベルは、ユーザまたはマシン毎に簡単に変更できる。
  • 独立して使う場合、 py.exe コマンドランチャーは Python 対話型インタープリターを起動する。次の用途にコマンドラインスイッチがサポートされる。 py -2 が Python 2 を、 py -3 が Python 3 を、 py がデフォルトバージョンを起動する。

シンプルな使い方


ランチャーをインストールすると、 .py.pyw スクリプトファイルが関連付けされます。他に自分で設定しない限り、スクリプトはシステム上のデフォルトの Python を使って実行されます。そのため、特に変更は見られません。もしコンソールをよく使うなら、1つだけ設定を行った方が良いかもしれません。それは PATHEXT 環境変数 に .py を追加することで、スクリプトが別のコンソールで実行されないようにします。

Python 2 を使う必要があるスクリプトを指定するには、単に次の1行を
#!/usr/bin/env python2
そのスクリプトの最初の行に追加してください。(これは Unix 互換な書き方ですが、Unix 互換を必要としない場合は #!python2 でも構いません) 。

一方、Python 3 を使う必要があるスクリプトを指定したいなら、次の1行を最初の行に追加してください。
#!/usr/bin/env python3
また次のいずれかのコマンドを使って、Python インタープリターを起動できます。
# Python のデフォルトバージョン
py
# Python 2
py -2
# Python 3
py -3
実行するには、 py.exe の実行可能ファイルのパスが通っている必要があります。これはインストーラーの launchsys バージョンでは自動的に追加されますが、 launcher.msi のバージョンでは PATH に対して手動でインストールディレクトリ (C:\Program Files\Python Launcher) を追加する必要があります。

参考文献


次に紹介する python-dev メーリングリストのスレッドで重要な議論が行われています。

0 件のコメント:

コメントを投稿