このドキュメントは、 Python を Microsoft Windows で使うときに知っておくべき、 Windows 独特の動作についての概要を伝えることを目的としています。
ほとんどの Unix システムやサービスと異なり、 Windows は Python に依存しておらず、 プリインストールの Python はありません。 しかし、 CPython チームは長年にわたり、コンパイル済みの Windows インストーラ (MSI パッケージ)を リリース 毎に用意しています。
Python の継続的な開発の中で、過去にサポートされていた幾つかのプラットフォームが (ユーザーと開発者の不足のために) サポートされなくなっています。 全てのサポートされないプラットフォームについての詳細は PEP 11 をチェックしてください。
コンパイル済みインストーラが提供されているプラットフォームについての詳細な情報は Python for Windows (and DOS) を参照してください。
参考
標準の CPython の配布物の他に、追加の機能を持っている修正されたパッケージがあります。 以下は人気のあるバージョンとそのキーとなる機能です。
これらのパッケージは 古い バージョンの Python をインストールするかもしれないことに 気をつけてください。
Python を完全に動かすために、幾つかの環境設定を変更しなければならないかもしれません。
Windows は環境変数を変更するためのビルトインのダイアログを持っています。 (以降のガイドは XP のクラシカルビューに適用されます。) マシンのアイコン(たいていデスクトップにあって “マイ コンピュータ” と呼ばれます) を右クリックして、そこにある プロパティ を選択します。 詳細設定 タブを開いて、 環境変数 ボタンをクリックします。
ここまでのパスをまとめると:
マイ コンピュータ ‣ プロパティ ‣ 詳細設定 ‣ 環境変数
このダイアログで、ユーザーとシステムの環境変数を追加したり修正できます。 システム変数を変更するには、マシンへの無制限アクセス(管理者権限)が必要です。
環境に変数を追加するもう一つの方法は、 set コマンドを使うことです。
set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
この設定を永続化するために、このコマンドラインを autoexec.bat に追加することができます。 msconfig はこのファイルを編集するGUIです。
もっと直接的な方法で環境変数を見ることができます。 コマンドプロンプトはパーセント記号で囲まれた文字列を自動的に展開します。
echo %PATH%
この動作についての詳細は set /? を見てください。
参考
スタートメニューに自動的に作られた Python interpreter のメニューエントリを 使うのと別に、DOSプロンプトから Python を実行したいかもしれません。 そのためには、 %PATH% 環境変数に Python ディストリビューションの ディレクトリを、セミコロンで他のエントリと区切って含めるように設定する 必要があります。 変数の設定例は次のようになります (最初の2つのエントリが Windows のデフォルト だと仮定します):
C:\WINDOWS\system32;C:\WINDOWS;C:\Python26
コマンドプロンプトから python をタイプすると、 Python インタプリタを 起動します。これで、スクリプトをコマンドラインオプション付きで実行することも 可能です。 コマンドライン ドキュメントを参照してください。
Python は通常そのライブラリ(と site-packages フォルダ)をインストールした ディレクトリに格納する。 なので、 Python を C:\Python\ ディレクトリにインストールしたとすると、 デフォルトのライブラリは C:\Python\Lib\ に存在し、 サードパーティーのモジュールは C:\Python\Lib\site-packages\ に格納されます。
追加のフォルダを Python の import 機構の検索対象に含めることもできます。 PYTHONPATH を 環境変数 で解説されているように利用し、 sys.path を変更してください。 Windowsでは、 ドライブ識別子 (C:\ など) と区別するために、パスはセミコロンで 区切られています。
モジュール検索パスの変更は、レジストリの HKLM\SOFTWARE\Python\PythonCore\version\PythonPath キーからも 可能です。 このキーのデフォルト値と同じように、セミコロンで区切られたパス文字列を持った サブキーがあれば、その各パスを探します。複数のサブキーを作成することができ、 path に辞書順で追加されます。 便利なレジストリエディタは regedit です。 (スタート ‣ ファイル名を指定して実行 から “regedit” とタイプすることで起動することができます。)
Python スクリプト (.py 拡張子を持ったファイル) はデフォルトで python.exe に起動されます。この実行ファイルは、プログラムがGUIを使う場合でもターミナルを開きます。 ターミナル無しでスクリプトを実行したい場合は、拡張子 .pyw を使うとそのスクリプトが デフォルトでは pythonw.exe で実行されるようになります。 (2つの実行ファイルは両方とも Python をインストールしたディレクトリの直下にあります。) pythonw.exe は起動時にターミナルを開きません。
You can also make all .py scripts execute with pythonw.exe, setting this through the usual facilities, for example (might require administrative rights): 全ての .py スクリプトを pythonw.exe で実行するように 設定することもできます。例えば (管理者権限が必要):
コマンドプロンプトを起動する
.py スクリプトに正しいファイルグループを関連付ける:
assoc .py=Python.File
全ての Python ファイルを新しい実行ファイルにリダイレクトする:
ftype Python.File=C:\Path\to\pythonw.exe "%1" %*
Additional modules 追加のモジュール =================
Python は全プラットフォーム互換を目指していますが、 Windows にしかない ユニークな機能もあります。標準ライブラリと外部のライブラリの両方で、 幾つかのモジュールと、そういった機能を使うためのスニペットがあります。
Windows 専用の標準モジュールは、 MS Windows 固有のサービス に書かれています。
The PyWin32 module by Mark Hammond is a collection of modules for advanced Windows-specific support. This includes utilities for: Mark Hammond によって開発された PyWin32 モジュールは、進んだ Windows 専用のサポートをするモジュール群です。 このモジュールは以下のユーティリティを含んでいます。
PythonWin は PyWin32 に付属している、 サンプルのMFCアプリケーションです。 これはビルトインのデバッガを含む、組み込み可能なIDEです。
参考
Py2exe は distutils 拡張 (Distutilsの拡張 を参照) で、 Python スクリプトを Windows 実行可能プログラム (*.exe ファイル) にラップします。 これを使えば、ユーザーに Python のインストールをさせなくても、 アプリケーションを配布することができます。
CPython を自分でコンパイルしたい場合、最初にすることは ソース を取得することです。 最新版リリースのソースをダウンロードするか、最新の チェックアウト を取得することができます。
公式の Python リリースをビルドするのに使われている Microsoft Visual C++ コンパイラのために、 ソースツリーは ソリューション・プロジェクトファイルを含んでいます。 適切なディレクトリにある readme.txt を参照してください。
ディレクトリ | MSVC バージョン | Visual Studio バージョン |
---|---|---|
PC/VC6/ | 6.0 | 97 |
PC/VS7.1/ | 7.1 | 2003 |
PC/VS8.0/ | 8.0 | 2005 |
PCbuild/ | 9.0 | 2008 |
これらのビルドディレクトリの全てが完全にサポートされているわけではありません。 使用しているバージョンの公式リリースが利用しているコンパイラのバージョンについては、 リリースノートを参照してください。
ビルドプロセスに関する一般的な情報は PC/readme.txt をチェックしてください。
拡張モジュールについては、 Windows 上での C および C++ 拡張モジュールのビルド を参照してください。
参考
参考