Python 3.12 Windows開発環境構築ガイド

概要

Windows環境においてPython 3.12の開発環境を構築するための手順をまとめたものである。すべての操作は管理者権限のコマンドプロンプトで実行する。本ガイドは,Python 3.12 のインストール,AIエディタ Windsurf のインストール,pip と setuptools の更新,インストール結果の確認,数値演算の性能確認の5つの作業で構成される。

目次

前提条件

関連する外部ページ

サイト内の関連情報

Python 3.12 のインストール

Pythonのインストールを行い、Pythonのプログラムを実行する環境を整える。扱う環境は、Windows搭載パソコンである。金子研究室では、Python 3.12.10を推奨する。

[Windows での Python 3.12 のインストール手順を見るには、ここをクリック]

Windows での Python 3.12 のインストール

以下のいずれかの方法でPython 3.12をインストールする。Pythonがインストール済みの場合、この手順は不要である。

方法 1:winget によるインストール

インストールコマンドの実行方法

管理者権限コマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。

--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。

REM Python 3.12 をシステム領域にインストール
winget install --id Python.Python.3.12 -e --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0 Include_pip=1 Include_launcher=1 InstallLauncherAllUsers=1 TargetDir=\"C:\Program Files\Python312\""

REM Python と Scripts を PATH 先頭に追加
powershell -NoProfile -Command "$p='C:\Program Files\Python312'; $s=\"$p\Scripts\"; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and (';'+$c+';' -notlike \"*;$p;*\") -and (';'+$c+';' -notlike \"*;$s;*\")){[Environment]::SetEnvironmentVariable('Path',\"$p;$s;$c\",'Machine')}"

方法 2:インストーラーによるインストール

  1. Python公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンからWindows用インストーラーをダウンロードする。
  2. ダウンロードしたインストーラーを実行する。
  3. 初期画面の下部に表示される「Add python.exe to PATH」にチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから python コマンドを実行できない。
  4. 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。

インストールの確認

コマンドプロンプトで以下を実行する。

python --version

バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。

pip と setuptools の更新

  1. 管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

    Windowspip を実行するときは,管理者権限コマンドプロンプトを使用し,システム領域へのインストールを行う.
  2. 次のコマンドを実行する。
    python -m pip install -U --no-user pip setuptools

Python に関しての情報取得

Python にトラブルがあった時に役立つよう,情報取得の手順をまとめる.

  1. Python にパスが通っていることの確認
    where python
  2. Python のバージョンの確認
    python --version
  3. Python のビルドに用いられたコンパイラのバージョン番号の確認
    import sys
    print(sys.version)
    exit()

    実行すると、Pythonのバージョンとビルドに用いられたコンパイラのバージョン番号が表示される。

  4. pip の動作確認

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

    pip list

確認のため,Windsurf で次の Python プログラムを実行してみる

次のプログラムは,NumPy と Matplotlib を使用して,0から6までの範囲のsin関数のグラフを描画する.warnings モジュールで Matplotlib の警告表示を抑制し,Matplotlib のデフォルトのスタイルを使用する.

import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings

x = np.linspace(0, 6, 100)
plt.style.use('default')
plt.plot(x, np.sin(x))
plt.show()

性能の確認

  1. 管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

    python -m pip install -U --no-user numpy scikit-learn scikit-learn-intelex
  2. NumPy の動作確認

    次の Python プログラムを実行する。

    import numpy as np
    print(np.sin(0))
    exit()
  3. Python の数値演算等の性能確認

    次の Python プログラムを実行する。

    次のプログラムは,NumPy と scikit-learn を使用して,行列計算とデータ分析を行う.
    1. 2000×2000 の乱数行列 X と Y を生成し、それらの行列積を計算する.
    2. scikit-learn の PCA を使用して,X の主成分分析を行い,2次元に次元削減する.
    3. NumPy の svd 関数を使用して、X の特異値分解を行う.
    4. scikit-learn の KMeans を使用して,X に対して10クラスタのk-means クラスタリングを行う.

    各操作の実行時間を測定し,結果を出力するプログラムである.

    import time
    import numpy
    import numpy.linalg
    import sklearn.decomposition
    import sklearn.cluster
    X = numpy.random.rand(2000, 2000)
    Y = numpy.random.rand(2000, 2000)
    # 行列の積
    a = time.time(); Z = numpy.dot(X, Y); print(time.time() - a)
    # 主成分分析
    pca = sklearn.decomposition.PCA(n_components = 2)
    a = time.time(); pca.fit(X); X_pca = pca.transform(X); print(time.time() - a)
    # SVD
    a = time.time(); U, S, V = numpy.linalg.svd(X); print(time.time() - a)
    # k-means
    a = time.time()
    kmeans_model = sklearn.cluster.KMeans(n_clusters=10, random_state=10).fit(X)
    labels = kmeans_model.labels_
    print(time.time() - a)

    実行結果の例

    • 行列の積: 約0.05 秒
    • 主成分分析: 約0.06 秒
    • SVD: 約1.30 秒
    • k-Means クラスタリング: 約2.99 秒