【初心者向け】 WindowsでPythonの開発環境を構築

この記事では,初心者に向けてPythonの開発環境を構築する手順を記載しています.

目次

対象読者

初学者にとっては,独学で自分ルールを作ることはあまり推奨できません.経験豊富なプログラマが利用している開発環境に習うべきです.(社内で開発環境やツールの共通化する目的もあり,この記事を作成しました.)

すなわち,この記事は次のような特性の方に向けた記事です.

  • プログラミング経験が浅い
  • 開発環境?なにそれ?
  • WindowsでPythonの開発環境を作成したい

この記事では,Pythonの構文などには触れず,Pythonがスムーズに開発できる環境の構築をゴールとしています.

初心者向けの開発環境とは?

有償ツールは初心者にとって大きなハードルです.また,コマンドラインはなじみがないかもしれません.複数のPythonやパッケージが存在すると,競合リスクは高まります.

よって,初心者に向けて重要視した項目は下記の通りです.

  • 無償のIDEである点 → VSCode
  • デバッグツールが使いやすい点 → VSCode
  • バージョンやパッケージ競合のリスクを低減できること → venv
  • コーディング規約の制定 → VSCode

また,他ツールとの連携(Git)や将来性も考慮すると,現状ではVSCodeが最も有用なツールと思います.

Pythonの開発環境の構築

Pythonのインストール

下記URLにアクセスします.

https://www.python.org/downloads/windows/

下記のような画面が表示されるので,適当なバージョンのPythonのインストーラーをダウンロードします.ここでは,Python 3.12.0を対象とします.

インストーラーを実行し,インストールを開始します.[Install Now]をクリックし,インストールを開始します.

[Use admin privileges when installing py.exe]と[Add python.exe to PATH]にチェックは入れないようにします.

インストール中は下記のような画面が表示されるので,しばらく待ちます.

しばらく待つと,インストールが完了し,次の画面が表示されます.

ここで,[Disable path length limit]という表示が現れるため,これをクリックしこのオプションを有効化します.

[Disable path length limit]オプションは,WindowsのファイルシステムであるNTFSにおける最大パス長制限(通常は260文字)を無効にすることを許可します.これにより,より長いファイルパス名を使用できるようになり,特に深いディレクトリ構造を持つプロジェクトや,長いパス名が必要なツールで問題が発生するのを防ぐことができます.このオプションを有効にすると,Pythonや他のアプリケーションで扱うファイルのパスが260文字を超える場合にも,エラーが発生しにくくなります。

[Disable path length limit]をクリックすると,許可を求められるため「はい」をクリックします.

下記の画面が表示されると,Pythonのインストールが完了です.

Pythonが正常にインストールされている場合,WindowsスタートメニューにPythonが追加されます.

このままでも,Pythonは使用可能ですが,より使いやすくするためにVSCodeをインストールします.

VSCodeのインストール

VSCodeの公式サイト(下記URL)にアクセスし,インストーラーをダウンロードします.

https://code.visualstudio.com/download

基本的にデフォルト設定で「次へ」を押下してインストールを続けます.

コンテキストメニューに「Codeで開く」を表示するとは?

下記のように右クリックメニュー(コンテキストメニュー)で「Codeで開く」というコマンドが表示されるようになります.

これによって,直接フォルダやファイルからVSCodeを開くことができるので便利になります.

「インストール」ボタンをクリックするとインストールが始まるので,しばらく待ちます.

次のような画面が表示されたらインストール完了です.

VSCodeの拡張機能のインストール

Python向け拡張機能の導入

Python用の拡張機能を導入します.

VSCodeにPython拡張機能を追加すると,コードの自動補完,エラーチェック,整形,デバッグ支援などが利用でき,コーディングが簡単で効率的になります.

拡張機能のボタン(下記1)をクリックし,”Python”を検索します.Mircosoft製のPythonという拡張機能を”Install”ボタンをクリックし,インストールします.

Linterの拡張機能

Linterとして,Flake8を導入します.

Linterはソフトウェア開発で使用されるツールで,プログラミング時の誤りやコードの一貫性などをチェックし,より読みやすく,保守しやすいコードの作成を支援します.Flake8はその中でも高機能なツールで,Pythonのコーディング規約に準拠しているかを評価するだけでなく,コードの複雑さを測定し,潜在的なエラーを事前に警告する機能を持っています.Flake8は,シンプルながらも強力なチェック機能で,コードの品質を効率的に向上させることができます.

拡張機能のボタン(下記1)をクリックし,”flake”を検索して”Flake8″をインストールします.

コード整形の拡張機能

コード整形の拡張機能として,Black Formatterを導入します.

コードの整形は読みやすさ、保守性,そして協力性を高めるために不可欠です.整形されたコードは,エラーの発見を容易にし,新しい開発者がプロジェクトに参加する際の理解を助けます.コードの一貫性を保つことは,長期的なプロジェクトの成功に直結します.簡潔であることは,これらの目標を達成するために必要です.

コード整形を大切にすることは,きれいに整理された書棚やクローゼットに似ています.整頓された書棚では,必要な本をすぐに見つけることができ,クローゼットでは服を選びやすくなります.同様に,整形されたコードは,必要な情報や機能を迅速に特定し,理解しやすくすることができます.

初心者の方は,このような整然とした環境で学習することで,プログラミングの基本を効果的に掴むことができるでしょう.

拡張機能のボタン(下記1)をクリックし,”black”を検索して”Black Formatter”をインストールします.

エラーを見やすくする拡張機能

Linterでプログラムにエラーが見つかった場合,赤色や黄色の波線で警告が表示されます.赤色はエラーなどの致命的なもので,黄色は変更を推奨する警告です.

波線が表示されるだけではエラーの内容は表示されません(波線にマウスオーバーすると内容が表示されます).

下図のように一目でエラー内容が見えるようにするために拡張機能を導入します.

エラー内容を見やすくする拡張機能であるError Lensを導入します.

プログラム(プロジェクト)の作成

ここからは実際にプログラムを書いてみます.

問題

ここでは,次のような問題を考えます.

問題

次の連立方程式の解を求めよ.

\[ \begin{align*} 2x + 3y – z &= 7 \\ 4x – y + 5z &= 10 \\ -2x + 4y + 2z &= 2 \end{align*} \]

解:

\[ \begin{align*} x &= 2.0178571428571 \\ y &= 1.1964285714286 \\ z &= 0.625 \end{align*} \]

プロジェクトの作成および仮想環境の構築

フォルダの作成

プロジェクトとして特定のフォルダを作成し,そのフォルダをVSCodeで開きます.

まず,[Open Folder]でフォルダを選択します.ここでは,[python_test]というフォルダを作成し,選択しています.

次のような確認画面が出る場合がありますが,[Yes, I trust the authors]をクリックします.

フォルダの中身は空なので,まずはPython用のファイル(main.py)を作成します.

仮想環境の構築

プログラムを書く前に仮想環境の構築を行います.

なぜ仮想環境が必要か?

Pythonのプロジェクトでは,様々な外部ライブラリやフレームワーク(パッケージ)を使用しますが,これらのパッケージはそれぞれ異なるバージョンを持っています.

例えば,プロジェクトAがパッケージのバージョン1を必要とし,プロジェクトBが同じパッケージのバージョン2を必要とする場合,これらを同じ環境で実行しようとするとバージョンの衝突が起こります.

仮想環境(venv)を使うことで,プロジェクトごとに異なるバージョンのパッケージを別々にインストールし,依存関係の衝突を防ぐことができます.

1. Pythonのバージョンを確認&設定

右下の「Python x.x.x」をクリックすると,Python環境を選択できます.ここで,Python 3.12.0のみインストールしているため,ひとつのバージョンのみ表示されていますが,複数の環境がインストールされている場合,複数表示されます.

2. Terminalを開く

[Ctrl] + [J](もしくはメニューバーから[Terminal] > [New Terminal])でターミナルを開きます.

3. 仮想環境の構築

仮想環境構築のため,下記コマンドをTerminalで入力します.

このコマンドでは,.myvenvという仮想環境を作成しています.また,py -3.12 ...は設定済みPythonのバージョンとしてください.


py -3.12 -m venv .myvenv

仮想環境が作成されると,その仮想環境の設定等が.myvenvというフォルダが作成されます.

作成されたらexitを入力して,Terminalを閉じます.

4. 仮想環境の利用

次は,エディタ側の設定です.先ほどPythonの環境を選択したように,仮想環境(.myenv)をVSCode上で設定するために,右下から選択します.これを行わないと仮想環境の設定がエディタに反映されません.

プログラムの作成と実行

コードを作成

まずは,問題を解くためのプログラムを作成します.

main.py


import numpy as np


def main():
    # 係数行列
    A = np.array([[2, 3, -1], [4, -1, 5], [-2, 4, 2]])
    # 定数ベクトル
    b = np.array([7, 10, 2])
    # 連立方程式の解
    solution = np.linalg.solve(A, b)
    print("解は x = {:.2f}, y = {:.2f}, z = {:.2f}".format(*solution))


if __name__ == "__main__":
    main()

必要なパッケージのインストール

この記事の手順通りに環境をインストールし,上記のプログラムを記述した場合次のような画面が表示されているはずです.

ここでは,NumPyというパッケージを利用しようとしていますが,そのパッケージがインストールされていないと警告が表示されています.この警告がLinterによる効果です.

この警告に対応するため,NumPyをインストールします.

まずは[Terminal] > [New Terminal]Terminalを開きます.Terminalが開かれた際に,自動的に仮想環境を読み込むスクリプトが実行されます.

エラーの対処

Terminalを起動した際.次のようなエラーが発生する可能性があります.

このエラーメッセージは,Windows PowerShellがスクリプトの実行を許可していないことを意味しています.PowerShellには実行ポリシーという機能があり,これによって特定の条件下でのスクリプトの実行が制御されます.このエラーを解決するには,実行ポリシーを変更する必要があります.

エラーの解決方法

PowerShellを「管理者として実行」します.その後,PowerShellで下記コマンドを入力し,スクリプトの実行を許可します.


Set-ExecutionPolicy RemoteSigned

次のようなコマンドで,pipでNumPyをインストールします.


pip install numpy

必要なパッケージがインストールされると次のように警告が消えます.

実行(コマンドライン)

環境が整ったので,いよいよPythonプログラムを実行します.

Terminalで次のようなコマンドを実行します.


python ./main.py

出力された結果を見ると,正解が得られていることがわかります.

実行(デバッグ)

先ほどのTerminalで実行する方法の以外にも,VSCodeのデバッガ機能によってプログラムを実行することができます.

デバッガを利用することで,プログラムの実行中に特定の行(ブレークポイント)で一時停止させ,その時点での変数の値を検査したり,プログラムの流れを一行ずつ追っていくステップ実行を行うことができます.これにより,コードの動作を細かく観察し,予期しない挙動やバグの原因を特定しやすくなります.

実行方法は非常に簡単です.「Run and Debug」をクリックするだけで自動的にプログラムが実行され,ターミナルに結果が表示されます.

ブレークポイントの設定

デバッグ実行の最大のメリットはブレークポイントを設定し,実行中にプログラム一時停止し,その時点での変数の値をチェックできることです.

まずは次のように9行目にブレークポイント(赤点)を設定します.

この状態で,「Run and Debug」をクリックします.

下記のようにプログラムが一時停止します.その際の変数の値は左側に表示されます.

デバッグ実行の詳細はここでは記載しきれないため,下記を参考にしてください.

https://code.visualstudio.com/docs/editor/debugging

その他

Gitなどのバージョン管理システムを導入をすると便利ですが,ある程度プログラムに慣れてからでよいでしょう.

よかったらシェアしてね!
目次