3. WindowsでのPythonの使用—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/using/windows
移動先:案内検索

3.3。 WindowsでPythonを使用する

このドキュメントは、MicrosoftWindowsでPythonを使用するときに知っておく必要のあるWindows固有の動作の概要を説明することを目的としています。

3.1。 Pythonのインストール

ほとんどのUnixシステムおよびサービスとは異なり、WindowsはPythonをネイティブに必要としないため、Pythonのバージョンをプレインストールしません。 ただし、CPythonチームは、長年にわたってリリースごとにWindowsインストーラー(MSIパッケージ)をコンパイルしてきました。

Pythonの継続的な開発により、以前はサポートされていた一部のプラットフォームがサポートされなくなりました(ユーザーまたは開発者が不足しているため)。 サポートされていないすべてのプラットフォームの詳細については、 PEP 11 を確認してください。

  • Python2.0およびこれらのシステムに固有のコードがPython2.1で削除されたため、DOSおよびWindows3.xは非推奨になりました。
  • 2.5まで、PythonはWindows 95、98、およびMEと互換性がありました(ただし、インストール時に非推奨の警告がすでに発生しています)。 Python 2.6(およびそれ以降のすべてのリリース)では、このサポートは廃止され、新しいリリースはWindowsNTファミリで動作することが期待されています。
  • Windows CE は引き続きサポートされます。
  • Cygwin インストーラーは、Pythonインタープリターのインストールも提供します(cf. Cygwinパッケージソースメンテナリリース

プリコンパイルされたインストーラーを備えたプラットフォームの詳細については、 Python for Windows(およびDOS)を参照してください。

も参照してください

XP上のPython
リチャード・ドーリングによる「「Hello World!」への7分」、2006年
Windowsへのインストール
Diveinto Python:Python from novice to pro 」、Mark Pilgrim、2004年、ISBN 1-59059-356-1
Windowsユーザーの場合
SwaroopCHによる「 AByte ofPython 」の「InstallingPython」、2003年


3.2。 代替バンドル

標準のCPythonディストリビューションに加えて、追加機能を含む変更されたパッケージがあります。 以下は、人気のあるバージョンとその主な機能のリストです。

ActivePython
マルチプラットフォーム互換性のあるインストーラー、ドキュメント、PyWin32
考え抜かれたPythonディストリビューション
人気のあるモジュール(PyWin32など)とそれぞれのドキュメント、拡張可能なPythonアプリケーションを構築するためのツールスイート

これらのパッケージは、Pythonの古いバージョンをインストールする可能性が高いことに注意してください。


3.3。 Pythonの構成

Pythonを完璧に実行するには、Windowsの特定の環境設定を変更する必要がある場合があります。

3.3.1。 Excursus:環境変数の設定

Windowsには、環境変数を変更するための組み込みダイアログがあります(以下のガイドはXPクラシックビューに適用されます):マシンのアイコン(通常はデスクトップにあり、「マイコンピューター」と呼ばれます)を右クリックし、プロパティを選択します。 ] そこの。 次に、詳細タブを開き、環境変数ボタンをクリックします。

要するに、あなたの道は次のとおりです。

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


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

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

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

この設定を永続的にするには、対応するコマンドラインをautoexec.batに追加します。 msconfig は、このファイルへのグラフィカルインターフェイスです。

環境変数の表示は、より簡単に行うこともできます。コマンドプロンプトは、パーセント記号でラップされた文字列を自動的に展開します。

echo %PATH%

この動作の詳細については、 set /?を参照してください。

も参照してください

https://support.microsoft.com/kb/100843
WindowsNTの環境変数
https://support.microsoft.com/kb/310519
WindowsXPで環境変数を管理する方法
https://www.chem.gla.ac.uk/~louis/software/faq/q1.html
環境変数の設定、LouisJ。 ファルギア


3.3.2。 Python実行可能ファイルの検索

Pythonインタープリター用に自動的に作成されたスタートメニューエントリを使用する以外に、DOSプロンプトでPythonを起動することもできます。 これを機能させるには、 %PATH%環境変数を設定して、他のエントリからセミコロンで区切られたPythonディストリビューションのディレクトリを含める必要があります。 変数の例は次のようになります(最初の2つのエントリがWindowsのデフォルトであると想定)。

C:\WINDOWS\system32;C:\WINDOWS;C:\Python25

コマンドプロンプトで python と入力すると、Pythonインタープリターが起動するようになりました。 したがって、コマンドラインオプションを使用してスクリプトを実行することもできます。コマンドラインのドキュメントを参照してください。


3.3.3。 モジュールの検索

Pythonは通常、そのライブラリ(したがって、site-packagesフォルダー)をインストールディレクトリに保存します。 したがって、PythonをC:\Python\にインストールした場合、デフォルトのライブラリはC:\Python\Lib\にあり、サードパーティのモジュールはC:\Python\Lib\site-packages\に保存する必要があります。

これは、 sys.path がWindowsに入力される方法です。

  • 現在のディレクトリに対応する空のエントリが先頭に追加されます。
  • 環境変数で説明されているように、環境変数 PYTHONPATH が存在する場合、そのエントリが次に追加されます。 Windowsでは、ドライブ識別子(C:\など)で使用されるコロンと区別するために、この変数のパスはセミコロンで区切る必要があることに注意してください。
  • 追加の「アプリケーションパス」は、HKEY_CURRENT_USERHKEY_LOCAL_MACHINEの両方のハイブの下にある\SOFTWARE\Python\PythonCore{version}\PythonPathのサブキーとしてレジストリに追加できます。 デフォルト値としてセミコロンで区切られたパス文字列を持つサブキーにより、各パスが sys.path に追加されます。 (すべての既知のインストーラーはHKLMのみを使用するため、HKCUは通常空であることに注意してください。)
  • 環境変数 PYTHONHOME が設定されている場合は、「Pythonホーム」と見なされます。 それ以外の場合は、メインのPython実行可能ファイルのパスを使用して、「ランドマークファイル」(Lib\os.py)を見つけ、「Pythonホーム」を推測します。 Pythonホームが見つかった場合、 sys.path に追加された関連するサブディレクトリ(Libplat-winなど)はそのフォルダーに基づいています。 それ以外の場合、コアPythonパスは、レジストリに格納されているPythonPathから構築されます。
  • Pythonホームが見つからない場合、環境で PYTHONPATH が指定されておらず、レジストリエントリが見つからない場合は、相対エントリを含むデフォルトのパスが使用されます(例: .\Lib;.\plat-winなど)。

このすべての最終結果は次のとおりです。

  • python.exeまたはその他の.exeをメインのPythonディレクトリ(インストールされているバージョン、またはPCbuildディレクトリから直接)で実行すると、コアパスが推定され、レジストリ内のコアパスは無視されます。 レジストリ内の他の「アプリケーションパス」は常に読み取られます。
  • Pythonが別の.exe(別のディレクトリ、COM経由で埋め込まれているなど)でホストされている場合、「Pythonホーム」は推定されないため、レジストリからのコアパスが使用されます。 レジストリ内の他の「アプリケーションパス」は常に読み取られます。
  • Pythonがホームを見つけることができず、レジストリがない場合(たとえば、凍結された.exe、非常に奇妙なインストールセットアップ)、デフォルトではあるが相対的なパスを持つパスを取得します。


3.3.4。 スクリプトの実行

Pythonスクリプト(拡張子が.pyのファイル)は、デフォルトで python.exe によって実行されます。 この実行可能ファイルはターミナルを開き、プログラムがGUIを使用している場合でも開いたままになります。 これを望まない場合は、拡張子.pywを使用すると、デフォルトで pythonw.exe によってスクリプトが実行されます(両方の実行可能ファイルは、 Pythonインストールディレクトリ)。 これにより、起動時のターミナルウィンドウが抑制されます。

また、すべての.pyスクリプトを pythonw.exe で実行し、通常の機能を使用してこれを設定することもできます(管理者権限が必要な場合があります)。

  1. コマンドプロンプトを起動します。

  2. 正しいファイルグループを.pyスクリプトに関連付けます。

    assoc .py=Python.File
  3. すべてのPythonファイルを新しい実行可能ファイルにリダイレクトします。

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


3.4。 追加モジュール

Pythonはすべてのプラットフォーム間での移植性を目指していますが、Windowsに固有の機能があります。 これらの機能を使用するために、標準ライブラリと外部ライブラリの両方にいくつかのモジュールとスニペットが存在します。

Windows固有の標準モジュールは、 MSWindows固有のサービスに記載されています。

3.4.1。 PyWin32

MarkHammondによる PyWin32 モジュールは、高度なWindows固有のサポートのためのモジュールのコレクションです。 これには、次のユーティリティが含まれます。

PythonWin は、PyWin32に同梱されているサンプルMFCアプリケーションです。 これは、デバッガーが組み込まれた組み込み可能なIDEです。

も参照してください

Win32どうすれば…?
ティム・ゴールデン
PythonとCOM
DavidとPaulBoddieによる


3.4.2。 Py2exe

Py2exedistutils 拡張機能( Extended Distutils を参照)であり、Pythonスクリプトを実行可能なWindowsプログラム(*.exeファイル)にラップします。 これを行うと、ユーザーがPythonをインストールしなくても、アプリケーションを配布できます。


3.4.3。 WConio

Pythonの高度な端末処理レイヤー curses はUnixライクなシステムに制限されているため、Windows専用のライブラリもあります。Python用のWindowsコンソールI / Oです。

WConio は、Turbo-CのCONIO.Hのラッパーであり、テキストユーザーインターフェイスの作成に使用されます。


3.5。 WindowsでのPythonのコンパイル

CPythonを自分でコンパイルしたい場合、最初にすべきことは source を入手することです。 最新リリースのソースをダウンロードするか、新しいチェックアウトを入手することができます。

Pythonの公式リリースを構築するコンパイラであるMicrosoftVisual C ++の場合、ソースツリーにはソリューション/プロジェクトファイルが含まれています。 それぞれのディレクトリでreadme.txtを表示します。

ディレクトリ MSVCバージョン VisualStudioバージョン
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
または「SWIGを使用してC / C ++でPython拡張機能を作成し、WindowsでMinGW gccを使用してコンパイルする」または「distutilsを使用してMicrosoft Visual C ++を使用せずにPython拡張機能をインストールする」(SébastienSauvage、2003年)
MingW –Python拡張機能
Trent Apted et al、2007


3.6。 その他のリソース

も参照してください

Win32でのPythonプログラミング
MarkHammondおよびAndyRobinsonによる「HelpforWindows Programmers」、O'Reilly Media、2000、ISBN 1-56592-621-8
Python forWindowsチュートリアル
アマンダバーミンガム、2004年