【2024年版】Pythonの開発環境をWindowsで構築する方法

どーも、ユメソバです。

Pythonの開発環境構築は様々な方法があって色々困りますよね。要求されるパッケージのバージョンが衝突する、様々なパッケージをインストールすると全体の環境が汚れていくなど不便さを感じています。このような悩みはPythonユーザーあるあるではないでしょうか?

数年前はWindowsでPythonを使用する場合はAnacondaをインストールするだけだったのですが、Anacondaは有償化されたみたいです。業務ではDockerなどで環境を切り分けると思いますが、Dockerを用意するのも手間ですよね。

そこで今回はできる限り簡単にPythonの開発環境を用意する方法をご紹介します。

はじめに

今回は以下のノートPCで開発環境を構築します。

  • プロセッサ: 13th Gen Intel(R) Core(TM) i7-1360P 2.20 GHz
  • メモリ(RAM): 32GB
  • Windows OS: Windows 11 Enterprise (バージョン: 24H2)

Pythonの環境構築はpyenv(Pythonのバージョン管理)とvenv(パッケージ管理)の組み合わせが一般的だと思いますが、今回はできる限り簡単に構築したいので、Pythonの公式サイトからインストーラーをダウンロードしてインストールします。

MEMO

Windowsの場合はpyenvを入れるのがめんどくさいので、特定のバージョンをインストーラでインストールする方が楽です。

開発環境の構築の手順

構築の手順は以下のようになります。

  1. 公式版Pythonのインストール
  2. 仮想環境の作成
  3. 仮想環境内でパッケージのインストール

公式版Pythonのインストール

Python.orgからインストーラをダウンロードします。ダウンロードページにReleaseの一覧があるので好きなバージョンのPythonを選択します。今回は下記の理由からPython 3.12.7をインストールしました。

注意

2024年11月時点では最新のバージョンは3.13.0ですが、Windows 上のvenvでpythonを動作させるとバグが発生するみたいです。参考: win 10 Python-3.13.0 tkinterがvenvで失敗する

リンク先のページでインストーラを選択します。今回はWindows 64bitを選びます。

ダウンロードしたインストーラを起動して、変更はしないで「Install Now」を選びます。

デフォルトでは「Add python.exe to PATH」にチェックは入っていません。環境変数がよくわからない人はチェックを入れておいてください。

ダウンロードが開始されます。

以下の画面が現れるとダウンロードが完了です。

インストール後にPythonランチャーで指定したバージョンがインストールできたかを確認してみます。ターミナルを起動して以下のコマンドを入力。

py --list

以下のように表示されれば大丈夫です。

Pythonランチャーとは

Python 3.3 から、Windows版のPythonをインストールすると、Pythonランチャが一緒にインストールされます。Pythonランチャを使うと、インストールされたPythonのうち最新版を自動で選択して実行してくれ、さらに古いバージョンのPythonもインストール済みならバージョン指定して実行させることも出来ます。

仮想環境の作成

Pthonが無事にインストールできたので、次に仮想環境を作成していきます。Pythonには標準で仮想環境を作成できるvenvという機能がついているのでそれを使用します。

MEMO

Pythonで開発する場合はpip install などでパッケージをインストールすると思いますが、仮想環境を作成してインストールしすることをおすすめします。なぜなら、PC内に「3.7」と「3.9」と「3.11」のPythonが混在しているとき、numpyというパッケージを「3.9」に入れたいとします。しかし、「どのバージョンのPythonにインストールされたかわからない」という問題が起きるからです。

自分が作業するフォルダを作成。今回の場合はCドライブ直下にpyworksというフォルダを作成しました。

作成した場所に移動して以下のコマンドを打ちます。

C:\pyworks>py -m venv 仮想環境名

「仮想環境名」のフォルダが生成されます。今回はpytestという仮想環境名にしています。

MEMO

指定のディレクトリをターミナルで開く場合、開きたいディレクトリをエクスプローラで開き、アドレス部分に 「cmd」 と入力しEnterを押せばターミナルが起動します。

次に生成されたフォルダ内にScriptsフォルダにactivate.batがあるので、それを実行します。

C:\pyworks>cd pytest\Scripts
C:\pyworks\pytest\Scripts>activate.bat

ターミナルが以下のようになっていれば、仮想環境に入れています。

この環境内でpipでパッケージをインストールします。仮想環境から抜けるときはdeactivateで抜けることができます。

(pytest) C:\pyworks\pytest\Scripts>deactivate

開発端末に複数のPythonがインストールされている場合にvenvで仮想環境を作成するとPATHが通っているバージョンで仮想環境が作成されます。異なるPythonのバージョンを使用するときは仮想環境作成時にバージョンを指定して作成します。

バージョンを指定してvenvを作成する場合は以下のコマンドを実行します。-x.xの部分にインストールされているPythonのメインバージョンを指定します。

py -x.x -m venv test

仮想環境内でパッケージのインストール

作成した仮想環境で試しに「numpy」と「matplolib」を入れてみます。pipの更新後にinstallコマンドでインストールします。

py -m pip install -U pip
py -m pip install --upgrade pip
py -m pip install numpy
py -m pip install matplotlib

pip listでパッケージがインストールされたことを確認できます。

入れた後にコードを書いて、Pythonプログラムを実行します。

import math
import numpy as np
from matplotlib import pyplot
pi = math.pi
x = np.linspace(0, 2*pi, 100)
y = np.sin(x)
pyplot.plot(x, y)
pyplot.show()

以下の画像が表示されたらインストールは成功しています。

注意

私は最初に3.13.0をインストールしたのですが、上記のコードを実行すると「can’t find a usable init.tcl in the following directories」というエラーが発生しました。

ネットを調べるとtclライブラリが見つからないというエラーなので、環境変数のPATHを通すと解決するみたいですが、私の環境ではPATHを通しても解決できませんでした。そこでPythonのバージョンを3.12に変更したところ、無事に実行することができました。

参考: matplotlibでpandas.DataFrameを可視化しようとしたらエラー「TclError: Can’t find a usable init.tcl in the following directories:  This probably means that Tcl wasn’t installed properly.」

おわりに

今回はWindowsの環境にPythonの開発環境を構築しました。ネットで調べると人によって開発環境の構築が様々だったので、簡単に構築できる方法をご紹介しました。今後はPyxelを使用してゲーム開発をしていきたいですね。