プログラミングの一番の基盤は,IDE(開発環境).IDE とは
1. Code Editor
- ソースコードを書くソフトウェア
2. Debugger(Linter, Formatter, Tester)
- ソースコードのバグを発見するソフトウェア
- Linter(リンター): ソースコードの文法チェック
- Formatter(フォーマッター): 文法に沿ったソースコードの整然化
- Tester(テスター): プログラムの動きを確認するためのテスト(仮のデータ入力と想定される出力)を走らせるしくみ
3. Interpreter(Compiler,Builder)
- ソースコードを実行するソフトウェア
の 3 種のソフトウェアです.
「Python」(パイソン)には 2 つの意味があります.(蛇の種類の意味以外に)
本来は上記 1 のプログラミング言語である Python 語のことですが,この Python 語で書かれたソースコードを読んでアプリケーション化するコマンドもまた python と読んでいます.
Python コマンドもまたアプリケーションで,元はソースコードがあり,そのソースコードをビルドすることで python コマンドが生成されています.そのソースコードは,さまざまなプログラミング言語で書かれたバージョンがあり,もっとも有名なものは CPython,C 言語というプログラミング言語で書かれたものです.その他には Java 言語で書かれた JPython などもあります.
ともあれ,自分の PC に python コマンドをインストールしましょう.
…とその前に,すでにインストールしているかも.でも,本当に今もそのままですか?
今後のプログラミング演習 Ⅱ の進行のために,全員の開発環境を同じものにしたく,まず,現在インストールしてあるすべての python コマンドをアンインストールしたいと思います.
windows で,python
とコマンドラインで打ったときに呼び出されるpython.exe
は,典型的には次の 4 つです.
これらは,インストール先をいじっていなければ,デフォルトのインストール先が決まっています.
0. MS Pyton(ダミー)
- exe ファイルの場所は
%LOCALAPPDATA%\Microsoft\WindowsApps\python.exe
- これはアプリケーション本体ではありません.ただのショートカットです.この
python
を呼ぶと,Microsoft Store の Python のページが立ち上がります.「入手」を押すと,1 の MS Python を入手することになります.- 1 の MS Python をインストールしたあとは,このショートカットの先は「Microsoft Store の Python ページ」から「1 の MS Python」に変わります.
1. MS Python 本体
- exe ファイルの場所は
%LOCALAPPDATA%\Microsoft\WindowsApps\PythonSoftwareFoundation.Python(Version)***\python.exe
- MicosoftStore 版 python (↓ の C の不完全版)
- 端末で何の気なしに
python
と打つと連れていかれる MicrosoftStore の Python 売り場で手に入れる Python 本体
2 の Anaconda python
- exe ファイルの場所は
%USERPROFILE%\anaconda3\Scripts\python.exe
3 の素 Python
- exe ファイルの場所は
%LOCALAPPDATA%\Programs\Python\Python(Version)\python.exe
コマンドプロンプトで,それぞれの場所,
> %LOCALAPPDATA%\Microsoft\WindowsApp\python.exe
などと打ってみてください.
ここで出てきた種類だけの Python があなたの PC にはインストールされているということです.
では,この python たちをアンインストールします.
上記の確認作業で,Anaconda python の存在が確認された人は,最初に anaconda をアンインストールします.Anaconda をインストールした覚えのない人も念の為に次のコマンドをどこかで動かしてください.
> conda install -c anaconda anaconda-clean
> anaconda-clean
一般的に Windows でインストールしたものはギアアイコンの「設定」から「アプリと機能」,「python」を検索すると出てきます.ここでアンインストールを選びます.複数見つかることもあります.
環境変数の PATH に python に関する記述があれば,その部分を削除します.
ぶっちゃけ何でも構いませんが,皆と同じ環境にしたいなら,演習 Ⅱ では「素 python」をおすすめします.すなわち公式サイト からインストールしてください.
その際に PATH の設定を加えるか聞かれるかもしれませんが,「いいえ」です.また,インストール後に手動で PATH の設定を加える必要もありません.
windows の人は,今後,python コマンドはpython
ではなく,py
を使います.
python foo.py
ではなく, py foo.py
です.python -m mod
ではなく,py -m mod
です.python -VV
ではなく,py -VV
です.mac の人は,最初から python が入っています.
Microsoft Windows には昔々から,Visual Studio という IDE(頭で紹介したエディタ・デバッガ・インタプリタ)すべての入ったソフトウェアがありますVisual Studio.ただし,WindowsOS 専用です.また,とても大きなソフトウェアであり,手軽に扱えるものではありません.
Visual Studio Code (以下,vscode
やcode
)は,そのエディタに特化したものとなります.
ただし,拡張機能を多く備えることができ,エディタでありながら,デバッグ,ビルドも可能なものとなっています.さらに,WindowsOS だけでなく,MacOS,LinuxOS でも同じように使用できます.
vscode はエディタですが,プログラミングに特化したエディタです.
プログラミングでは,あるアプリケーションを作ろうとなった場合に, 「プロジェクト」と呼ぶフォルダを作り,その中にソースコードやらリソースファイル(アイコンや画像や音楽ファイルなど),説明書(Readme),ライセンス(License)を入れます.
vscode では,ファイルを一つ一つ開くのではなく,この「プロジェクト」のフォルダを開きます.
フォルダを開いたあと,そのフォルダルート(根っこ)を起点として,その下にあるソースコードを編集したり,ファイルを加えたり削除したりの整理をしたりします.
以下の拡張機能をインストールしてください.
演習 Ⅰ や Web 上のいろんなサイトで,numpy その他のパッケージをインストールする際にpip
やconda
を使っているかもしれませんが,この演習 Ⅱ ではpoetry
を使います.
まず,poetry をインストールしましょう.
PS > (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
PS > [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\AppData\Roaming\Python\Scripts;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
mac や linux の人は,
> curl -sSL https://install.python-poetry.org | python3 -
poetry は単なるパッケージインストーラではなく,むしろ「プロジェクト」フォルダのマネージャです.
何はともあれ,最初に次のようにしてください.どのフォルダでもいいです.
> poetry config virtualenvs.in-project true
> poetry config virtualenvs.options.no-pip true
> poetry config virtualenvs.options.no-setuptools true
(上記は,プロジェクトのライブラリ置き場を,プロジェクト内の .venv
というフォルダに置く,という設定です.この設定をしない場合は,デフォルトで,ユーザのVirtualenvs
というフォルダの下にプロジェクトごとの env が置かれます)
プロジェクトとは,パッケージとほぼ同じ意味と考えても結構です.配布(提出)するモジュールが梱包されたディレクトリです.
これから,さまざまなプロジェクトを作るので,それらを置くための親となるディレクトリを作ります.エクスプローラで作ってもいいでしょう.ディレクトリの名前は何でもいいです.例えば psp2
とか.
たとえばディレクトリの場所が C:\Users\helmenov\Documents\psp2
ならば,
> cd C:\Users\helmenov\Documents\psp2
新しくプロジェクトを作ります.たとえば課題1用に, kadai01
なら,
> poetry new kadai01
と打ちます.すると,いろいろ聞かれますが,適切に答えると,kadai01
というディレクトリが作られます.
そのディレクトリに入ると,いろいろなものができています.
kadai01
├── README.md
├── kadai01
│ └── __init__.py
├── pyproject.toml
└── tests
└── __init__.py
kadai01
ディレクトリの中にさらに kadai01
というディレクトリができています.この深い位置の方の kadai01
が配布されるパッケージです.このディレクトリの中にあなたがモジュールを作成します.すでに__init__.py
というものがありますが,とりあえず今は気にせずそのままに.
pyproject.toml
というファイルがあります.これが「あなたの作ったパッケージを使うためにあらかじめインストールしていなければならないパッケージのリスト」です.さらに,このファイルにはパッケージのバージョンを書きます.
他に, README.md
というファイルがありますが,これはあなたの作ったパッケージの説明書です.
tests
というディレクトリは,あなたの作ったパッケージをテストするためのモジュールを置きます.
実は,上記で作ったプロジェクトですが,他のプロジェクトでインストールした外部パッケージを使えません.
外部パッケージはプロジェクト毎に入れ直してください.
外部パッケージのインストールは,
> poetry add 外部パッケージ名
でおこないます.(pip install
ではありません)
ちなみに,厳密には「プロジェクトに必要な外部パッケージ」には2種類あり,
どちらもインストールは,poetry add
でインストールしてもいいのですが,後者は自作パッケージ配布のときには不要なパッケージです.
なのでpoetry add --group=dev
でインストールしておくと,配布物から取り除かれます.
ちなみに,不要になった外部パッケージは,
> poetry remove 外部パッケージ
で削除できます.
作った自作モジュールを詰め込んだ自作パッケージを配布(提出)したいときは,まずpyproject.toml
の[tool.poetry]
のversion
の数値を大きくします.
そのあと,
> poetry build
すると,dist/kadai01-0.1.0-py3-none-any.whl
みたいのができます.これを配布(提出)します.
まず,それぞれのプロジェクトで,
> poetry add ipykernel --group=dev
してください.
その後,vscode でプロジェクトを開き,python ソースコードを編集します.
インタプリタを聞かれます.このときには,./.venv/bin/python
を選ぶようにします.
(たいていは,自動的にインタプリタが選ばれます)
演習室の JupyterHub を使うこともできます.ただし,学外からは使えません.
学内であれば,まずEteks で使う演習室 PC を決めます.使う PC が起動していない場合は新たに起動してください.
00
人のときのみ電源を切ってもよいです.(心配なら電源つけっぱでもよいです)
起動していることが確認できたら,つなぐ演習室 PC の JupyterHubに WebBrowser でアクセスします.
+
ボタンで Launcher が表示されます)ディレクトリの移動は,エクスプローラでおこないます.
ファイルリストの上に ■ / … / k00 / tests /
のような表示があると思いますが,その■
が所謂ホームディレクトリで,演習室 PC のあなたのディレクトリの根っこです.■
をクリックすると,その根っこに移動します.
ファイルリストから移動したいディレクトリをクリックすれば,そのディレクトリに移動します.
移動先のディレクトリの下のファイルリストが表示されている状態で,右側の Launcher で操作します.
poetry をインストールしてみましょう.現在開いているディレクトリがどこでも構いません.
Launcher の Other の Terminal を開きます.
[sonoda@bes-ex01 ~] $ □
のようになっています.ここで,
[sonoda@bes-ex01 ~] $ python -m pip install poetry
と打って実行すると,ズラーとインストール処理が行われ,最後に
Successfully installed poetry-1.8.2
[sonoda@bes-ex01 ~] $ □
となってインストール終了です.試しに
[sonoda@bes-ex01 ~] $ poetry help
で poetry のヘルプが表示されます.
あとはほぼ上記の自分 PC での操作と同じ(poetry config
を忘れずに)ですが,
vscode のときにインタプリタを聞かれたら
.venv/bin/python
を選べ
に対応するインタプリタ設定が必要です.
Other/Terminal で Python を起動する場合
まず,
[sonoda@bes-ex01 k00] $ poetry shell
と打つと
(k00-py3.8) [sonoda@bes-ex01 k00]$
のようになるかと思います.
この状況で python を動かせば,自分で入れた site-packages が反映されます.
Notebook を使いたい場合
python3
というカーネルには,自分で入れた site-packages が反映されません.よって新たにカーネルを作ります.Other/Terminal にて
[sonoda@bes-ex01 k00] $ poetry add ipykernel --group=Dev
で カーネル作成パッケージをインストールし,それを使ってカーネルを作ります.カーネル名を指定します.たとえばk00
なら
[sonoda@bes-ex01 k00]$ poetry run ipython kernel install --user --name=k00
ちなみに自分の作ったカーネルのリストは
[sonoda@bes-ex01 k00] $ jupyter kernelspec list
ちなみに自分の作ったカーネルを削除するときは,
[sonoda@bes-ex01 k00] $ jupyter kenelspec uninstall k00