2023-2I プログラミング1 第09回 講義資料

2023年06月21日(金)1・2時限

1 準備

2 Pythonの実行・開発環境の構築 (ローカル環境)

今回の講義では、各自のノートPC (ローカル環境) に Python「実行環境」ならびに「開発環境」 を構築していきます。ここまでの授業では、実行開発環境としてGoogle Colab(クラウド環境・リモート環境) を利用してきましたが、今後は必要に応じてローカル環境に構築した実行開発環境も利用していきます。

ここで構築する環境は、公式配付版 Pythonインストーラ版 の Python 3.11Visual Studio Code (VSCode) を組み合わせたものになります。

Anaconda」というプラットフォームを使って開発環境を整備する方法もありますが、この授業では採用しません (推奨もしません)。Anacondaのほうがインストールは簡単ですが、本格的な学習や開発を考えた場合、ここで紹介する環境のほうが情報量が豊富で適しています。

2.1 事前確認

以降の作業を行なう前に、必ず以下の項目について確認してください。問題がある場合は、それを解決してから作業を進めてください。

Windowsのスタートボタンを右クリックして「ターミナル」を起動し、ユーザーフォルダ (ホームディレクトリ) の名前を確認してください。

C:\Users\wada>

上記の wada の部分が ユーザーフォルダ (ホームディレクトリ) の名前になります。

ここに 日本語や特殊文字 を含んでいる場合は、Python開発用に、別途、Windowsのアカウントを新規作成し、それを使用してください。アカウントの追加方法は windows 11 アカウント 追加 などで検索してください。

3 コーディングに適したフォントのインストール

プログラム開発環境においては、以下のような文字について判別しやすい「等幅フォント」が望まれます。「等幅フォント」の概要は情報1の「第03回講義ノート」を参照してください。

これらの条件を満たしたフォント (コーディング用フォントプログラミング用フォント) としては、次のようなものがあります。

ここでは「Source Han Code JP (日本語メニューネーム:源ノ角ゴシック Code JP) 」をインストールします (お好みで別のフォントを使っても問題ありませんが、開発効率とモチベーションに関わるので適切なフォントを使用してください)。なお「源ノ角」は げんのかく とよみます。

既に SourceHanCodeJP.ttc はダウンロードしてデスクトップに配置していると思うので、ファイルアイコンを右クリックしてコンテキストメニューから「インストール」を選択してください。拡張子が .ttc のフォントファイルは、複数のバージョンを収録しているフォントファイル (True Type Font Pack) になります。SourceHanCodeJP.ttc をインストールすると次のようなフォントが追加されます。

ELLN は「文字の太さの違い」になります。

Wordなどを起動して、フォントとして「源ノ角ゴシック Code JP」が正常にインストールされたことを確認してください。

img

4 Python のインストール

Python本体をインストールしていきます。

4.1 リリース情報の確認とインストーラの入手

Python公式ページ にアクセスしてリリース情報を確認します。

Pythonは頻繁にアップデートが行なわれており、基本的には 安定版 (Stable Releases) の最新バージョンを使用することが望ましいです。

公式ページにアクセスして、メニューの「Downloads」から「Windows」を選択して Windows向けのPythonのリリース状況 を確認します。「リリース」とは ソフトウェアやその新バージョンを一般公開すること、ユーザーが入手可能・利用可能な状態にすること を意味します。

2024年6月19日段階では、安定版 (Stable Releases) として「Python 3.12.4」「Python 3.11.9」「Python 3.10.14」が公開されていることが分かると思います。また、Pre-releases として「Python 3.13.0b2」なども公開されていることが分かります。

先述のように、基本的には安定版 (Stable Releases) の最新バージョンを使用することが望ましいため、今回は Python 3.11Windows installer (64-bit) 版をダウンロードします (Download Windows installer (64-bit) のリンクをクリックします)。

既にダウンロードしていると思うので、手元には「python-3.11.9-amd64.exe」があるはずです。なお、32bit版のWindowsや、ARM版のWindowsを使用している場合は「Download Windows installer (32-bit)」や「Download Windows installer (ARM64)」などを選択します。これらアーキテクチャの違いについては、情報2の「第02回講義ノート」の CPUアーキテクチャ の項目を参照してください。

なお「Windows embeddable package」とは、主に Python実行環境が構築されていないPCを使用している人 に対して、自分が作成したPythonプログラムを配布して利用してもらうときに同梱するための「軽量のPython環境」です。

Stable Releases について

Stable Releases とは「安定版」という意味です。ソフトウェアのインストールにおいては、特段の理由がなければ、この Stable Releases (安定版) や LTS (長期サポート版) を選択するようにしください。その他、次のようなバージョンがあります。

Pre-release は、上記の Beta ReleaseAlpha Release などを含んだ呼称です。

4.2 MD5 Sum の確認

ダウンロードした「ファイルが破損していないか」、あるいは、ダウンロード途中で中間者攻撃を受けて「ファイルがすり替えられていないか」、「ウイルスを埋め込まれていないか」を確認する方法を紹介します。

ここでは、python-3.11.9-amd64.exe がデスクトップに置かれているものとします。

まず、ターミナルを起動し、モードを「コマンドプロンプト」に切り替えてください。

img

次に、cd コマンドでデスクトップに移動します。その後、certutil -hashfile python-3.11.9-amd64.exe MD5 と打ち込んでMD5によるハッシュ値を計算をします。ハッシュ値については、情報2の第09回講義ノートを参照してください。

C:\Users\wada>cd Desktop

C:\Users\wada\Desktop>certutil -hashfile python-3.11.9-amd64.exe MD5
MD5 ハッシュ (対象 python-3.11.9-amd64.exe):
e8dcd502e34932eebcaf1be056d5cbcd
CertUtil: -hashfile コマンドは正常に完了しました。

このときのハッシュ値、具体的には e8dcd502e34932eebcaf1be056d5cbcd と、ダウンロードページに掲載されている MD5 Sum の値を比較します。

img

両者が一致していれば、ファイル破損や改竄がないことが確認できます。ハッシュ値が違っている場合は、何らかの問題を含むので再度ダウンロードしてください。

4.3 インストール

python-3.11.9-amd64.exe をダブルクリックして実行します。

インストーラが立ち上がるので Use admin privileges when installing py.exeAdd python.exe to PATH両方にチェックを入れて「Install Now」を選択します。

既にPython (3.10.x以下) がインストールされている環境では「Use admin privileges when installing py.exe 」のチェックボックスがグレーアウトしていることもあります (その場合は、チェック不要です)。また、3.11.X がインストールされている環境ではアップグレードを促す画面になるので、アップグレードをしてください。

以下のスクリーンショットは「3.11.4」のものです。適宜、読み替えてください。

img

チェックボックスの意味は次の通りです。

4.4 正常にインストールされたことの確認1

ターミナルを「再起動」して、モードを「コマンドプロンプト」に切り替えてください。

img

Pythonのバージョン確認コマンドを打ち込み、問題なくインストールされたかを確認します。以下のように python -V または python --version によってバージョン確認ができます。

C:\Users\wada>python -V
Python 3.11.9

ハイフンに続けて入力するものをコマンドオプションといいます。オプションは、大文字と小文字を区別する ので注意してください。

なお、次のように誤ってPythonを 対話モード (インタラクティブシェル) で起動してしまった場合は、>>> に続けて quit() を入力してください。対話モードのPythonが終了してターミナルに戻ります。

C:\Users\wada>python
Python 3.11.9 (tags/v3.11.9:de54cf5, Apr  2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

また、正常にインストールできていない場合、または、インストールはできたものの Pythonに対するパスが通っていない場合 は以下のようになります。

C:\Users\wada>python -V
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

4.5 正常にインストールされたことの確認2

通常は利用することはありませんが、最も基本的 (原始的) な Pythonプログラムの実行方法 を確認しておきます。

Windows標準の「メモ帳」で次のようなプログラムを記述し test.py という名前でデスクトップに保存してください (時間短縮のため打ち込まずコピペしてください)。Colab環境 (Jupyter環境) ではないので %reset -f などのマジックコマンド は使用することはできません (記述すると SyntaxError になります)。

print('A*Bの計算をします。')
a = float(input('Aの値を入力してください: '))
b = float(input('Bの値を入力してください: '))
print(f'{a}+{b}={a+b} です。')

ファイル保存の際は、文字コード (エンコード) は utf-8 にしてください。また、ファイルの種類も「すべてのファイル」にしてください。

img

ターミナル (コマンドプロンプト) を起動して、cd コマンドでデスクトップに移動し、python test.py でプログラムが実行できます。

C:\Users\wada>cd Desktop

C:\Users\wada\Desktop>python test.py
A*Bの計算をします。
Aの値を入力してください: 10
Bの値を入力してください: 20
10.0+20.0=30.0 です。

4.6 Path設定

Pythonをデフォルト設定でインストールすると C:\Users\wada\AppData\Local\Programs\Python\Python311\ にインストールされます。実際にエクスプローラで、そのフォルダにアクセスしてみてください (wadaの部分は各自のユーザーフォルダの名前に書き換えてください) 。

このフォルダのなかにある python.exe が Python の本体・実行ファイルになります。

img

この実行ファイル (python.exe) をコマンドラインから起動するためには、本来であれば、次のようにその「絶対パス」あるいは「相対パス」を指定する必要があります。

C:\Users\wada>C:\Users\wada\AppData\Local\Programs\Python\Python311\python.exe -V
Python 3.11.9

もしくは

C:\Users\wada>.\AppData\Local\Programs\Python\Python311\python.exe -V
Python 3.11.9

しかし、このようにパスをつけて python.exe を実行することは非常に煩雑です。そこで、C:\Users\wada\AppData\Local\Programs\Python\Python311\ の部分を 省略できるようにする仕組みが「パスを通す」という操作 になります。

「パスを通す」とは、環境変数 PATHC:\Users\wada\AppData\Local\Programs\Python\Python311\ を記載しておくことを指します。この設定をすることで python.exe または python と打ち込むだけで、実行することができるようになります。

具体的には、sysdm.cpl でシステムのプロパティのダイアログを起動し、詳細設定 のタブから「環境変数」のボタンを押下し「Path」の項目を編集します (Pythonのインストールパスを追加します)。

C:\Users\wada>sysdm.cpl

この操作はPythonのインストール時に「Add Python 3.11 to PATH」のオプションを選択すれば自動的に行われます。

なお、設定されたパスは次のように確認できます。

C:\Users\wada>set path

4.7 pipの基本

詳しくは以降の授業で解説しますが、pip は Python ライブラリ (モジュールやパッケージとも表現します)管理するツールです。pip コマンドを使用すると、インターネットから各種ライブラリをローカル環境にダウンロードおよびインストールし、その後、プログラムのなかで使用することができるようになります。

pip を使用する場合、まずは、次のコマンドで pip そのものを最新版にアップグレード します ( pip もPythonプログラムのひとつです)。このコマンドは定期的に使用するので覚えておくようにしてください (すぐに探せる場所にメモしておいてください)。

C:\Users\wada>python -m pip install --upgrade pip
Requirement already satisfied: pip in c:\users\wada\appdata\local\programs\python\python311\lib\site-packages (24.0)

現在の環境にインストールされているPythonライブラリは pip list というコマンドで確認ができます。

C:\Users\wada\Desktop>pip list
Package    Version
---------- -------
pip        24.0
setuptools 65.5.0

上記のように、初期状態では最低限のモジュールしかインストールされていません。以降、各種モジュールをインストールする方法を紹介しますが、それらは環境をクリーンに保ちトラブルを避けるために、仮想環境 を作成したうえで、そこにインストールしていきます。

仮想環境ではない環境は「グローバル環境」とよばれますが、このグローバル環境には原則として 新たなライブラリをインストールしない ようにしてください。

4.8 PowerShellの設定変更 (重要)

コマンドプロンプトのようなシェルで「PowerShell」があります (現段階で役割や機能の違いを把握する必要ははありません)。この PowerShell でも、Pythonスクリプトが実行できるように設定を変更しておきます (このあとに実行する VSCode では、PowerShell から Pythonスクリプト を実行することもあるため)。

ターミナルを起動してモードを「Windows PowerShell」切り替えてください。

img

続けて、次のようにコマンドを入力してください。

PS C:\Users\wada> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

上記コマンドは、現在のユーザーに対してスクリプトの実行ポリシーを「リモート署名(RemoteSigned)」に設定します。これにより、自身で作成したスクリプトや信頼された発行元からのスクリプトが実行可能 になります。逆に設定していないと、Pythonプログラムが実行できません。

設定が正しく適用されたかを確認するには、以下のコマンドを入力 (コピペ) します。

PS C:\Users\wada> Get-ExecutionPolicy
RemoteSigned

出力された結果が RemoteSigned であれば、設定の変更が正しく反映されています。これにより、VSCodeなどの統合開発環境を使用して、PowerShell から Pythonスクリプト を実行することが可能になります。

5 VSCodeのセットアップ

Visual Studio Code (VS Code) は各種プログラミング言語に対応した統合開発環境 (IDE: Integrated Development Environment) です。

5.1 インストーラの実行

Visual Studio Code installer VSCodeUserSetup-x64-1.90.2.exe を実行してください。インストール途中で尋ねられる「追加タスクの選択」では、少なくとも次の項目にはチェックをいれてください (それ以外は好みに合わせてチェックをいれてください)。これらの設定ができていることを前提に授業を進めます。

5.2 PC再起動

インストール完了後に、一旦、PCを再起動してください。

5.3 VSCodeに拡張機能を追加

VSCode は「目的にあわせて様々な拡張機能 (プラグイン) をインストールして使用」します。拡張機能をインストールしていない状態では、VS Codeを便利に使用することはできません。

VSCode を起動してください。画面左側にならぶ拡張機能のアイコンをクリックして、Python開発用に次の拡張機能をインストールしてください。

img

その他、必要に応じて拡張機能をインストールしてください。

5.4 フォントとテーマの設定

コーディング用フォント「Source Han Code JP (日本語メニューネーム:源ノ角ゴシック Code JP) 」をVS Codeのデフォルトフォントに設定します。

VSCode画面左下の「設定のアイコン」をクリックして「設定」を呼び出して editor.fontFamily の項目を次のように書き換えて保存してください。

'Source Han Code JP',Consolas, 'Courier New', monospace

同様に、workbench.colorTheme の項目でカラーテーマの変更ができます。

img

5.5 その他の設定

VSCodeのメニューから「ファイル」「ユーザー設定」「設定」と進み、右上のアイコンをクリックします。

img

VSCodeの設定が JSON形式で表示されるので、以下の設定を追加して保存します。内容はお好みで変更してください。

{

  // 既存の設定の下に追加する

  ////【Python】の設定 ////
  "[python]": {
    "editor.defaultFormatter": "ms-python.autopep8",
    "editor.tabSize": 2, // タブサイズ
    "editor.formatOnType": false, // タイピング後の自動整形
    "editor.formatOnPaste": true, // 貼付け時の自動整形
    "editor.formatOnSave": true, // 保存時の自動整形
    "editor.detectIndentation": false // タブ制御関連 false 設定
  },
  "python.analysis.typeCheckingMode": "basic",

  "autopep8.args": [
    "--indent-size=2", // タブサイズは2とする
    "--max-line-length=80", // 1行あたり80行までは自動改行しない
    "--ignore=E70,E302,E305"
    // E70_ セミコロンによる2文記述を許可
    // E302 クラス定義前の2行の空行強制を無視
    // E303 クラス定義後の2行の空行強制を無視
    // E501 自動改行防止
  ],
}

6 VS Codeを使ったPythonプログラムの開発の流れ

VS Codeを使って、Pythonの仮想環境 (Virtual Environment) を構築、Pythonプログラムのコーディング、Pythonプログラムの実行をするまでの一連の流れについて学びます。

6.1 プロジェクトフォルダの作成

エクスプローラを開き、ドキュメンフォルダのなかに 2024-Programming1 を作成し、そのなかに移動します。今後は、この 2024-Programming1 フォルダの内部に 各種プロジェクトフォルダ を作成して管理していきます。

img

第09回講義ということで、PG1-09 という名前のプロジェクトフォルダを作成してください。

作成したフォルダを選択して 「Shift」を押下しながら右クリック して「Codeで開く」を選択してください。これにより、VSCode で対象のプロジェクトをオープンすることができます。

img

このように VS Code では フォルダ単位プロジェクトを管理していくことを覚えておいてください。

このフォルダ内のファイルの作成者を信頼しますか?

VSCode起動時に「このフォルダ内のファイルの作成者を信頼しますか?」を確認された場合は「はい、作成者を信頼します」を選択してください。

なお、ここでは フォルダ PG1-09 を作成したのが自分なので「信頼します」を選択しましたが、自分以外が作成した場合は慎重に判断してください。フォルダ内に、PCを破壊するようなプログラムコードが配置されている可能性もあります。

6.2 仮想環境の作成と有効化

VSCodeが起動したら Ctrl+j を押下して「ターミナル」を表示します。ターミナルがデフォルトで PowerShell (PS) に設定されていることを確認してください。

img

次の venv コマンドを使って Pythonの仮想環境 (Virtual Envronment) を作成します。仮想環境内であれば、後先を考えずにPythonライブラリをインストールしても、あとで後悔するような事態は発生しません。

PS C:\Users\wada\Documents\2024-Programming1\PG1-09> python -m venv .venv    

上記を実行すると .venv という仮想環境に関するものが格納される「隠しフォルダ」が作成されます (ドットからはじまる「ファイルは隠しファイル」、ドットからはじまるフォルダは「隠しフォルダ」という扱いになります)。

img

次のコマンドで仮想環境を 有効化 します。

PS C:\Users\wada\Documents\2024-Programming1\PG1-09> .venv/Scripts/Activate.ps1

ターミナルのプロンプトの先頭表示が (.venv) に変わっていることを確認します。仮想環境が有効化されているときは、このような表示になるので覚えておいてください。

(.venv) PS C:\Users\wada\Documents\2024-Programming1\PG1-09> 

6.3 Pythonファイルの新規作成とコードの記述

Pythonファイルを作成します。test-01.py というファイルを新規作成して・・・

img

次のプログラムを記述して「保存」してください。保存操作を忘れないこと!

print('A*Bの計算をします。')
a = float(input('Aの値を入力してください: '))
b = float(input('Bの値を入力してください: '))
print(f'{a}+{b}={a+b} です。')

6.4 Pythonファイルの実行

Pythonの「実行方法」について説明します。

まず、ファイル test-01.py を選択してアクティブな状態にしてください。

VSCodeの画面左側から「実行とデバッグ」のアイコンをクリックしてください。さらに、左パネルのなかの「launch.jsonファイルを作成します」というリンクをクリックしてください。

img

画面上部に表示される「デバッガーの選択」から「Python Debugger」を選択して・・・

img

さらに「Pythonファイル 現在のアクティブな Python ファイルをデバッグする」を選択します。

img

これより、実行とデバッグに関する 設定ファイル (.vscode/launch.json) が自動作成されます。特に編集することはないので、この launch.json のタブは閉じてしまって問題ありません。

img

以上で準備が整ったので、プログラムを実行してきます。再び、ファイル test-01.py を選択してアクティブな状態にしてください。そして F5 を押下すと、画面下部のターミナルでプログラムが実行されます (数値を入れて計算しましょう)。以降、基本的には F5 の押下でプログラムが実行できます。

img

なお、F5 で実行されるのは選択中のPythonファイル (アクティブなPythonファイル) になります。launch.json などを選択中は意図した動作をしません。

もし、F5 で実行とデバッグが正常に機能しない場合は、.vscode/launch.json を削除して、再度、上記の操作を試してください。

img

7 Jupyterの実行

ローカル環境に構築したPython環境でも、Jupyter (ジュピター) という GoogleColab と同様のノートブック開発が利用できます (もともと Jupyter が先にあって、それをクラウド化したものが Colab になります )。

7.1 ライブラリのインストール

Jupyterの実行に必要なライブラリを pip コマンドでインストールします。VSCodeのターミナル (Ctrl+Jで起動) から次のコマンドを実行します。

pip install jupyter

これにより、jupyter に関連するライブラリが仮想環境にインストールされます(多数のライブラリをインストールするので、そこそこの時間がかかります)。インストールされたライブラリは、次のように確認できます。

pip list

様々なライブラリがインストールされたことが確認できます。一方で、別途、VSCode外でターミナルを開いて pip list を実行すれば、仮想環境でのライブラリのインストールの影響を受けていないことが確認できます。

7.2 ノートブックの新規作成と実行

Jupyter 用に test-02.ipynb を新規作成します。また、さきほど、同様にプログラムを記述します。ノートブック環境なので %reset -f も利用できます。

img

初回実行時には、上記の❸の「カーネルの選択」、❹の「Python環境…」の選択、以下の「.venv」の選択が必要です。

img

以降は、GoogleColab. と同じように、セルを選択して Ctrl+Enter でプログラムを実行することができます。

7.3 注意点

input() を使った「文字列の入力受付け」は、VSCodeの画面上部に表示されるので注意してください。

img

セル移動は、以下の部分をクリックしてから Alt + Alt + で移動ができます。

img

8 演習

繰返し練習してください。