WinPython のインストール(Windows 上)

WinPython は,Windows 用のPython 処理系と主要な Python パッケージを1つにまとめた,ポータブルなPythonディストリビューションです.インストール不要でUSBメモリなどから直接実行できるため,環境構築の手間を省きたい場合に便利です.主に以下のアプリケーションが同封されています.

本記事では,WinPythonのインストール,初期設定,主要なPythonパッケージのインストール,簡単な性能確認の手順をスクリーンショット等を用いて説明します.

目次

  1. WinPython のダウンロードとインストール
  2. 環境変数 Path の設定
  3. WinPython のインストール後の確認
  4. パッケージ管理ツールの更新
  5. 性能の確認
  6. TensorFlow のインストール
  7. Python パッケージのインストール
  8. 試しに Python で OpenCV を使ってみる

WinPython のダウンロードとインストール

(注意) 本記事では Python 3.11 ベースのWinPythonを例に説明します.WinPythonのバージョンによって、含まれるPythonのバージョンや手順が若干異なる場合があります.

  1. ウェブページを開く

    https://sourceforge.net/projects/winpython/

  2. Files」をクリック
  3. バージョンを選ぶ

    利用したい Python のバージョン(ここでは例として Python 3.11 系)に対応するWinPythonの最新安定版を選びます.

  4. 最新の安定版をダウンロード.

    Download Latest Version」をクリックします.(ファイル名を確認し,意図したバージョンのものをダウンロードしてください)

  5. ファイルのダウンロードが始まる.
  6. ダウンロードした .exe ファイルを実行
  7. 展開するディレクトリの設定.

    展開(解凍)するディレクトリを設定します.システムドライブ直下(`C:\` など)は避け、ユーザーフォルダ配下(例: `C:\Users\YourUsername\WinPython`)や、専用のフォルダ(例: `C:\Tools\WinPython`)を指定することを推奨します.ここでは例として `C:\Tools\WPy64-311xx` (xxはバージョン番号)に展開するものとします.

  8. ディレクトリを指定したら,「Extract」をクリック.
  9. 終了するまでしばらく待つ.

環境変数 Path の設定

コマンドプロンプトなどから WinPython の Python や関連ツール (`pip`など) を簡単に呼び出せるように、Windows のシステム環境変数 `Path` に以下のディレクトリを追加します.

以下のパスは,ご自身がWinPythonを展開したディレクトリに合わせて修正してください.(例: `C:\Tools\WPy64-311xx` に展開した場合)

C:\Tools\WPy64-311xx\python-3.11.x.amd64
C:\Tools\WPy64-311xx\python-3.11.x.amd64\Scripts
C:\Tools\WPy64-311xx\Scripts
C:\Tools\WPy64-311xx

(環境変数 Path の設定方法が分からない場合は,別途「Windows 環境変数 設定」などで検索してください.設定後はPCの再起動や再サインインが必要な場合があります.)

WinPython のインストール後の確認

  1. Windows で,コマンドプロンプトを起動します.(この確認作業では、通常、管理者権限は不要です)
  2. `pip` と `python` にパスが通っていることの確認

    次のコマンドを実行し,設定したPathにある実行ファイルの場所が表示されるか確認します.これは,コマンドプロンプトが `pip` や `python` というコマンドを認識できる状態か(環境変数Pathが正しく設定されているか)を確認するためです.

    where pip
    where python
    

    * 表示されるパスは,WinPythonの展開先やバージョンによって異なります.エラーメッセージが出ないことを確認してください.

  3. python のバージョンの確認

    使用するPythonのバージョンが表示されることを確認します.

    * エラーメッセージが出ないことを確認.

    python --version
    
  4. pip の動作確認(インストール済みパッケージ一覧表示)

    WinPythonに最初から含まれているPythonパッケージの一覧が表示されます.

    * エラーメッセージが出ないことを確認.

    pip list
    

パッケージ管理ツールの更新

WinPython環境を最新の状態に保つため,パッケージ管理ツールである `pip` と `setuptools` を更新します.

  1. Windows で,コマンドプロンプト管理者権限で起動します(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択).

    (`pip` でパッケージをインストール・更新する際は、システム全体に関連する可能性のある操作のため、管理者権限で実行することが推奨される場合があります.)

  2. pip と `setuptools` の更新

    次のコマンドを実行して,`pip` と `setuptools` を最新版に更新します.

    python -m pip install -U pip setuptools
    
  3. 更新後のバージョン確認

    再度 `pip list` を実行し,`pip` と `setuptools` のバージョンが更新されているか確認します(任意).

    pip list
    

性能の確認

WinPythonに含まれる `numpy` や `scikit-learn` を用いて,簡単な数値計算(行列の積, 主成分分析, SVD, k-Means クラスタリング)を実行し,その処理時間を確認します.

(注意) これらの実行時間は,お使いのPCのCPU性能,メモリ量などの実行環境によって大きく変動します.あくまで目安としてください.

  1. Windows で,コマンドプロンプトを実行します.
  2. Python プログラムの実行

    以下のPythonコードをファイル(例: `performance_test.py`)に保存し、コマンドプロンプトから `python performance_test.py` のように実行します.事前に `numpy` と `scikit-learn` がインストールされている必要があります(WinPythonには通常含まれています).

    Python プログラムの実行: 別ページ »で説明

    Python のまとめ: 別ページ »にまとめ

    import time
    import numpy
    import numpy.linalg
    import sklearn.decomposition
    import sklearn.cluster
    
    # データ生成 (2000x2000の乱数行列)
    print("Generating random data (2000x2000)...")
    X = numpy.random.rand(2000, 2000)
    Y = numpy.random.rand(2000, 2000)
    print("Data generated.")
    
    print("Calculating matrix product...")
    a = time.time(); Z = numpy.dot(X, Y); print(f"Matrix product: {time.time() - a:.2f} sec")
    
    print("Calculating PCA...")
    pca = sklearn.decomposition.PCA(n_components = 2)
    a = time.time(); pca.fit(X); X_pca = pca.transform(X); print(f"PCA: {time.time() - a:.2f} sec")
    
    print("Calculating SVD...")
    a = time.time(); U, S, V = numpy.linalg.svd(X); print(f"SVD: {time.time() - a:.2f} sec")
    
    print("Calculating k-Means...")
    # n_init='auto' は scikit-learn 1.2 以降でデフォルト、1.4 以降で明示的指定推奨
    kmeans_model = sklearn.cluster.KMeans(n_clusters=10, random_state=10, n_init='auto').fit(X)
    labels = kmeans_model.labels_
    a = time.time(); kmeans_model.fit(X); print(f"k-Means clustering: {time.time() - a:.2f} sec")
    

    実行結果の例(時間は環境により異なります):

    • 行列の積: 0.31 秒
    • 主成分分析: 0.21 秒
    • SVD: 3.62 秒
    • k-Means クラスタリング: 3.78 秒

TensorFlow のインストール

TensorFlow を利用する場合のインストール手順です.

重要: TensorFlow と Python のバージョン互換性

TensorFlowをインストールする前に,利用したいTensorFlowのバージョンが,現在使用しているPythonのバージョン(ここでは Python 3.11 と仮定)に対応しているかを確認してください.公式ドキュメントやPyPI (https://pypi.org/project/tensorflow/) で確認できます.例えば、TensorFlow 2.13 は Python 3.11 に対応しています.

  1. Windows で,コマンドプロンプト管理者権限で起動します.
  2. 既存パッケージのアンインストール(推奨)

    * 既存のTensorFlow関連パッケージがインストールされている場合,バージョンの競合などのトラブルを避けるために,一度アンインストールしておくことを推奨します.

    python -m pip uninstall -y protobuf tensorflow tensorflow-cpu tensorflow-gpu tensorflow-intel tensorflow-text tensorflow-estimator tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer tf-keras tensorboard
    
  3. TensorFlow および関連パッケージのインストール

    ここでは例として TensorFlow 2.13 をインストールします.必要に応じて `tensorflow-datasets`, `tensorflow-hub`, `keras-tuner` なども同時にインストールできます.(`keras-visualizer` は更新が停止している可能性あり.`keras-contrib` はアーカイブ済み.`tf-keras` は不要.)

    pip を用いてインストールします.

    python -m pip install -U tensorflow==2.13.* tensorflow-datasets tensorflow-hub keras-tuner tensorboard
    

    (GPU版を利用する場合は、別途CUDA ToolkitやcuDNNのインストールが必要です.TensorFlow GPU サポートを参照してください.)

    (TensorFlowの公式ドキュメントやサンプルコードは,公式サイトGitHubリポジトリを参照してください.)

  4. Python の numpy がインストールされていることの確認

    TensorFlowは `numpy` に依存しています.バージョン番号が表示されればOKです.

    バージョン番号は環境によって異なる場合があります.

    python -c "import numpy; print(numpy.__version__)"
    
  5. TensorFlow のバージョン確認

    インストールしたTensorFlowのバージョンが表示されればOKです.

    バージョン番号は環境によって異なる場合があります.

    python -c "import tensorflow as tf; print(tf.__version__)"
    

Python パッケージのインストール

WinPython には多くの科学技術計算パッケージが同封されていますが,それ以外のパッケージや,特定のバージョンが必要な場合は,`pip` を使ってインストールします.

  1. Windows で,コマンドプロンプト管理者権限で起動します.
  2. パッケージのインストール

    例として,データサイエンスでよく使われるパッケージや,Webフレームワークなどをインストールするコマンドを示します.必要なものを選んでインストールしてください.

    データサイエンス・機械学習関連:

    python -m pip install -U numpy scipy pandas scikit-learn scikit-image matplotlib seaborn plotly statsmodels h5py pillow cython
    

    Web開発・その他:

    python -m pip install -U flask django requests beautifulsoup4 html5lib lxml openpyxl xlrd xlsxwriter pylint flake8 pytest
    

    特定のライブラリ (例: GIS関連):

    python -m pip install -U shapely fiona geopandas geopy geographiclib pyproj rtree gdal
    

    注意:

    • 上記はあくまで例です.必要なパッケージを個別に `python -m pip install パッケージ名` でインストールしてください.
    • パッケージによっては,別途システムライブラリのインストールが必要な場合があります(例: `gdal`, `mecab` など).その場合は各パッケージのドキュメントに従ってください.
    • 古いパッケージや依存関係が複雑なものは、仮想環境(例:`venv`)の使用を検討してください.

    (パッケージのインストールが成功した例を示すスクリーンショット)

試しに Python で OpenCV を使ってみる

OpenCV は有名なコンピュータビジョンのライブラリです.OpenCV を使って画像や動画を表示してみます.

OpenCV の機能とプログラム例: 別ページ »にまとめ

OpenCV のインストール:

まだインストールしていない場合は,コマンドプロンプト(管理者権限推奨)で以下のコマンドを実行します.

python -m pip install opencv-python

画像ファイルの表示

  1. 画像ファイルを準備する.

    表示したい画像ファイル(例: `fruits.jpg`)を,これから実行するPythonスクリプトと同じフォルダに置くか,アクセス可能な場所に配置します.

    謝辞:https://github.com/opencv/opencv/tree/master/samples/data で公開されている fruits.jpg を使用しています.感謝します.
  2. Python プログラムの作成と実行

    以下のPythonプログラムを `show_image.py` のような名前で保存し,画像ファイルと同じディレクトリから実行します.

    import cv2
    import os
    
    # 画像ファイル名 (スクリプトと同じディレクトリにあると仮定)
    image_filename = "fruits.jpg"
    
    # 画像ファイルが存在するか確認
    if not os.path.exists(image_filename):
        print(f"Error: Image file not found: {image_filename}")
        print(f"Please make sure '{image_filename}' is in the same directory as the script.")
    else:
        # 画像を読み込む
        img = cv2.imread(image_filename)
    
        if img is None:
            print(f"Error: Could not read image file: {image_filename}")
        else:
            # 画像を表示する
            window_title = "Fruit Image"
            cv2.imshow(window_title, img)
            print(f"Displaying '{image_filename}'. Press any key on the '{window_title}' window to close.")
            cv2.waitKey(0) # キー入力待ち
            cv2.destroyAllWindows() # ウィンドウを閉じる
            print("Window closed.")
    

    Windows で,コマンドプロンプトを開き,スクリプトのあるディレクトリに移動してから「`python show_image.py`」のように実行します.

    WinPython に付属の「spyder」などで実行することも可能です(その場合,Spyderのワーキングディレクトリに画像ファイルを置いてください).

    画像が表示されます.画像のウィンドウを選択した状態で何かキーを押すと,ウィンドウが閉じます.

動画ファイルの表示

  1. 動画ファイルを準備する.

    表示したい動画ファイル(例: `1-1.avi`)を,これから実行するPythonスクリプトと同じフォルダに置くか,アクセス可能な場所に配置します.

    ここで使用するビデオの例: 1-1.avi (3分1秒)

  2. Python プログラムの作成と実行

    以下のPythonプログラムを `show_video.py` のような名前で保存し,動画ファイルと同じディレクトリから実行します.

    import cv2
    import os
    
    # 動画ファイル名 (スクリプトと同じディレクトリにあると仮定)
    video_filename = "1-1.avi"
    
    # 動画ファイルが存在するか確認
    if not os.path.exists(video_filename):
        print(f"Error: Video file not found: {video_filename}")
        print(f"Please make sure '{video_filename}' is in the same directory as the script.")
    else:
        # 動画ファイルをキャプチャ
        v = cv2.VideoCapture(video_filename)
    
        if not v.isOpened():
            print(f"Error: Could not open video file: {video_filename}")
        else:
            window_title = "Video Player"
            print(f"Displaying video '{video_filename}'. Press 'q' to exit.")
            while(v.isOpened()):
                # 1フレーム読み込む
                r, f = v.read()
    
                # 読み込み失敗か動画終了ならループを抜ける
                if not r:
                    break
    
                # フレームを表示 (元のコードに合わせて一部を表示)
                # フレーム全体を表示する場合は `f_display = f` とする
                try:
                    f_display = f[0:400, 0:300, 0:3]
                except IndexError: # フレームサイズが小さい場合の対策
                    f_display = f
    
                cv2.imshow(window_title, f_display)
    
                # 'q'キーが押されたら終了 (待ち時間 1ms)
                # waitKeyの戻り値は環境依存の場合があるため、複数チェック
                key = cv2.waitKey(1) & 0xFF
                if key == ord('q') or key == 27: # q または Esc キー
                    break
    
            # リソース解放
            v.release()
            cv2.destroyAllWindows()
            print("Video playback finished or stopped.")
    

    Windows で,コマンドプロンプトを開き,スクリプトのあるディレクトリに移動してから「`python show_video.py`」のように実行します.

    WinPython に付属の「spyder」などで実行することも可能です(その場合,Spyderのワーキングディレクトリに動画ファイルを置いてください).

    ビデオが表示されます.再生が終了するか,'q'キーまたはEscキーを押すとウィンドウが閉じます.