### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python v2.6.2 documentation »
- Pythonを利用する »

# Windows で Python を使う

このドキュメントは、 Python を Microsoft Windows で使うときに知っておくべき、 Windows 独特の動作についての概要を伝えることを目的としています。

## Python のインストール

ほとんどの Unix システムやサービスと異なり、 Windows は Python に依存しておらず、 プリインストールの Python はありません。 しかし、 CPython チームは長年にわたり、コンパイル済みの Windows インストーラ (MSI パッケージ)を リリース 毎に用意しています。

Python の継続的な開発の中で、過去にサポートされていた幾つかのプラットフォームが (ユーザーと開発者の不足のために) サポートされなくなっています。 全てのサポートされないプラットフォームについての詳細は PEP 11 をチェックしてください。

- DOS と Windows 3.x は Python 2.0 から廃止予定になり、Python 2.1 でこれらのシステム 専用のコードは削除されました。
- 2.5 まで、 Python は Windows 95, 98, ME で動きました (ですが、すでにインストール時に 廃止予定の警告をだしていました)。 Python 2.6 (とその後の全てのリリース) は、 これらの OS のサポートが止められ、新しいリリースは Windows NT ファミリーしか 考慮されていません。
- Windows CE は今でもサポートされています。
- Cygwin インストーラも Python インタープリタ のインストールを提供しています。 これは “Interpreters” の下に置かれています。(cf. Cygwin package source, Maintainer releases)

コンパイル済みインストーラが提供されているプラットフォームについての詳細な情報は Python for Windows (and DOS) を参照してください。

参考

Python on XP
  “7 Minutes to “Hello World!”” by Richard Dooling, 2006
Installing on Windows
  in “Dive into Python: Python from novice to pro” by Mark Pilgrim, 2004, ISBN 1-59059-356-1
For Windows users
  in “Installing Python” in “A Byte of Python” by Swaroop C H, 2003

## 別のバンドル

標準の CPython の配布物の他に、追加の機能を持っている修正されたパッケージがあります。 以下は人気のあるバージョンとそのキーとなる機能です。

ActivePython
  マルチプラットフォーム互換のインストーラー、ドキュメント、 PyWin32
Enthought Python Distribution
  (PyWin32 などの) 人気のあるモジュールとそのドキュメント、 Python の 拡張をビルドするためのツールスイート

これらのパッケージは 古い バージョンの Python をインストールするかもしれないことに 気をつけてください。

## Python を構成する

Python を完全に動かすために、幾つかの環境設定を変更しなければならないかもしれません。

### 補足: 環境変数の設定

Windows は環境変数を変更するためのビルトインのダイアログを持っています。 (以降のガイドは XP のクラシカルビューに適用されます。) マシンのアイコン(たいていデスクトップにあって “マイ コンピュータ” と呼ばれます) を右クリックして、そこにある プロパティ を選択します。 詳細設定 タブを開いて、 環境変数 ボタンをクリックします。

ここまでのパスをまとめると:

> マイ コンピュータ ‣ プロパティ ‣ 詳細設定 ‣ 環境変数

このダイアログで、ユーザーとシステムの環境変数を追加したり修正できます。 システム変数を変更するには、マシンへの無制限アクセス(管理者権限)が必要です。

環境に変数を追加するもう一つの方法は、 set コマンドを使うことです。

    set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

この設定を永続化するために、このコマンドラインを `autoexec.bat` に追加することができます。 msconfig はこのファイルを編集するGUIです。

もっと直接的な方法で環境変数を見ることができます。 コマンドプロンプトはパーセント記号で囲まれた文字列を自動的に展開します。

    echo %PATH%

この動作についての詳細は set /? を見てください。

参考

http://support.microsoft.com/kb/100843
  Windows NT の環境変数
http://support.microsoft.com/kb/310519
  Windows XP での環境変数の管理方法
http://www.chem.gla.ac.uk/~louis/software/faq/q1.html
  Setting Environment variables, Louis J. Farrugia

### Python 実行ファイルを見つける

スタートメニューに自動的に作られた 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 で実行するように 設定することもできます。例えば (管理者権限が必要):

1. コマンドプロンプトを起動する

2. `.py` スクリプトに正しいファイルグループを関連付ける:

       assoc .py=Python.File

3. 全ての Python ファイルを新しい実行ファイルにリダイレクトする:

       ftype Python.File=C:\Path\to\pythonw.exe "%1" %*

Additional modules 追加のモジュール =================

Python は全プラットフォーム互換を目指していますが、 Windows にしかない ユニークな機能もあります。標準ライブラリと外部のライブラリの両方で、 幾つかのモジュールと、そういった機能を使うためのスニペットがあります。

Windows 専用の標準モジュールは、 MS Windows 固有のサービス に書かれています。

### PyWin32

The PyWin32 module by Mark Hammond is a collection of modules for advanced Windows-specific support. This includes utilities for: Mark Hammond によって開発された PyWin32 モジュールは、進んだ Windows 専用のサポートをするモジュール群です。 このモジュールは以下のユーティリティを含んでいます。

- Component Object Model (COM)
- Win32 API 呼び出し
- レジストリ
- イベントログ
- Microsoft Foundation Classes (MFC) ユーザーインターフェイス

PythonWin は PyWin32 に付属している、 サンプルのMFCアプリケーションです。 これはビルトインのデバッガを含む、組み込み可能なIDEです。

参考

Win32 How Do I...?
  by Tim Golden
Python and COM
  by David and Paul Boddie

### Py2exe

Py2exe は `distutils` 拡張 (Distutilsの拡張 を参照) で、 Python スクリプトを Windows 実行可能プログラム (`*.exe` ファイル) にラップします。 これを使えば、ユーザーに Python のインストールをさせなくても、 アプリケーションを配布することができます。

### WConio

Python の進んだターミナル制御レイヤである `curses` は、 Unix ライクシステムでしか 使うことができません。逆に Windows 専用のライブラリ、 Windows Console I/O for Python があります。

WConio は Turbo-C の `CONIO.H` のラッパーで、テキストユーザーインタフェースを 作成するために利用することができます。

## Windows 上で 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++ 拡張モジュールのビルド を参照してください。

参考

Python + Windows + distutils + SWIG + gcc MinGW
  or “Creating Python extensions in C/C++ with SWIG and compiling them with MinGW gcc under Windows” or “Installing Python extension with distutils and without Microsoft Visual C++” by Sébastien Sauvage, 2003
MingW – Python extensions
  by Trent Apted et al, 2007

## その他のリソース

参考

Python Programming On Win32
  “Help for Windows Programmers” by Mark Hammond and Andy Robinson, O’Reilly Media, 2000, ISBN 1-56592-621-8
A Python for Windows Tutorial
  by Amanda Birmingham, 2004

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python v2.6.2 documentation »
- Pythonを利用する »