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

2023年06月22日(木)5・6時限

1 準備

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

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

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

Anaconda というプラットフォームを使って開発環境を整備する方法もありますが、ここでは採用しません。推奨もしません。Anacondaのほうがインストールは簡単ですが、本格的な学習や開発には、ここで紹介する環境のほうが適しています

2.1 事前確認

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

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

C:\Users\wada>

上記の wada の部分が ユーザーフォルダ (ホームディレクトリ) の名前になります。ここに日本語や特殊文字を含んでいる場合は、Python開発用に、別途、Windowsのアカウントを追加し、それを使用してください。アカウントの追加方法は windows 11 アカウント 追加 などで検索してください。

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

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

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

ここでは「Source Han Code JP (日本語メニューネーム:源ノ角ゴシック Code JP) 」をインストールします。なお「源ノ角」は「げんのかく」とよみます。

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

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

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

img

2.3 Python のインストール

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

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

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

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

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

2023年6月22日段階では、安定版 (Stable Releases) として「Python 3.10.12」「Python 3.11.4」「Python 3.7.11」「Python 3.8.17」が公開されていることが分かると思います。また、Pre-releases として「Python 3.12.0b3」なども公開されていることが分かります。

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

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

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

Stable Releases について

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

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

2.3.2 MD5 Sum の確認

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

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

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

C:\Users\wada>cd Desktop

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

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

img

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

2.3.3 インストール

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

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

既にPythonがインストールされている環境では「Use admin privileges when installing py.exe 」のチェックボックスがグレーアウトしていることもあります (その場合は、チェック不要です)。

img

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

2.3.4 正常にインストールされたかの確認1

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

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

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

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

C:\Users\wada>python
Python 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

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

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

2.3.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 です。

2.3.6 Path設定

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

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

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

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

もしくは

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

しかし、このようにパスをつけて 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のインストールパスを追加します)。この操作はPythonのインストール時に「Add Python 3.11 to PATH」のオプションを選択すれば自動的に行われます。

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

C:\Users\wada>set path

2.3.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 (23.1.2)

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

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

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

2.3.8 PowerShellの設定変更

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

ターミナルを起動してPowerShellに切り替えて次のようにコマンドを入力してください。

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

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

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

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

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

3 VSCodeのセットアップ

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

3.1 インストーラの実行

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

3.2 PC再起動

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

3.3 VS Codeに拡張機能を追加

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

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

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

3.4 フォントの設定

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

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

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

3.5 VS Codeを使った開発の流れ

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

3.5.1 親フォルダの作成

各種プロジェクトを管理する親フォルダを適当な場所に作成します (例えば、ドキュメントフォルダのなかなど)。ここでは、この授業で作成するプロジェクトフォルダを格納する 2023-Programming1 を作成します。

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

作成した 2023-Programming1 のなかにプロジェクトのフォルダを作成します。0622-VSCode を作成してください。

そのフォルダを選択して Shift を押下しながら右クリック して「Codeで開く」を選択してください (あるいは、右クリックして「その他のオプションを表示」を選択して「Codeで開く」を選択します)。これにより、VS Code で対象のプロジェクトをオープンすることができます。

このように VS Code では、フォルダ単位でプロジェクトを管理します。

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

VSCode上で Ctrl+Shift+@ を押下してターミナルを表示します。ターミナルがデフォルトで PowerShell に設定されていることを確認してください。

次の venv コマンドでPythonの仮想環境 (Virtual Environment) を作成します。仮想環境内であれば、適当にPythonライブラリをインストールしても、あとで困るような事態は発生しません。

PS C:\Users\wada\Documents\PythonProject\Test> python -m venv .venv    

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

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

PS C:\Users\wada\Documents\PythonProject\Test> .venv/Scripts/Activate.ps1

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

(.venv) PS C:\Users\wada\Documents\PythonProject\Test> 

3.5.4 Pythonファイルの作成

Pythonファイルを作成します。test-01.py を作成して、次のプログラムを記述して保存します。

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

3.5.5 Pythonファイルの実行

test-01.py がアクティブな状態で F5 を押下し、画面上部に表示される「デバッグ構成を選択する」から「Pythonファイル 現在のアクティブな Python ファイルをデバッグする」を選択します。 画面下部のターミナルでプログラムが実行されます (数値を入れて計算しましょう)。

img

つづいて左パネルに「launch.jsonファイルを作成します」というリンクがでているので押下します。さらに「Pythonファイル 現在のアクティブな Python ファイルをデバッグする」を選択します。実行とデバッグの設定ファイル (.vscode/launch.json) が作成され、以降は F5 の押下だけでプログラムの実行ができることを確認します。

img

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

3.5.6 終了と再開と破棄

口頭説明。

3.6 Jupyterの実行

仮想環境が有効化されていることを確認して次のコマンドを実行します。

pip install jupyter

これにより、jupyter に関連するライブラリが仮想環境にインストールされました。インストールされたライブラリ を次のように確認します。

pip list

様々なライブラリがインストールされたことが確認できます。一方で、別途、VSCode外でターミナルを開いて同様にライブラリのインストール状況を調べる影響を受けていないことが確認できます。

Jupyter 用に test-02.ipynb を新規作成します。

画面右上の「カーネルの選択」から「Python環境…」を選択し、さらに次のように仮想環境を選択します。

img

以降は、GoogleColab. と同じようにプログラムを実行することができます。

3.7 おまけ: Pygame

pip install pygame
import pygame.examples.aliens
pygame.examples.aliens.main()
import pygame.examples.glcube
pygame.examples.glcube.main()

http://westplain.sakura.ne.jp/translate/pygame/Examples.cgi

4 演習

詳細は口頭説明。