環境構築(Python)と開発準備
プログラムを実行するということとは?
1, プログラムのインストールする
プログラムは各OSに対応するpackage_managerをユーザが起動し、package_managerはOSが提供するファイル操作API(ファイルをコピー・移動、フォルダ作成、レジストリ操作など)を呼び出して、指定された場所にファイルを配置します。
macの場合はHomeBrewというpackage_managerが主流です。
そんなわけで home brewや.pkgファイルを用いてプログラミング言語をインストールします。
実行環境としての“コンパイラ”や“インタプリタ”、“ランタイム”があり、これは言語の仕様によって変わります。初めて勉強するpython, javascript, rubyなどの言語はインタプリタ言語といい、1行ずつプログラムを解釈するインタプリタをインストールします。
2, プログラムの実行方法
じゃあプログラムをインストールしたはいいけどどうやってこれを操作するんだ?
完成したアプリケーションやスクリプトの場合はコマンドライン(ターミナル)、GUI(ボタンのクリック)、HTTPリクエストなどから呼び出せます。しかし最もお手軽で開発でよく使うのはCLIツールをターミナルから叩く方法です。
GUIはネイティブアプリ、HTTPリクエストはWebアプリを実行する際に用いられる実行方法です。
多くの場合は
python test_code.py
python3 test_code.py
などを使うことでプログラムをCLIで実行します。
3, インタプリタ言語の実行の仕組み
3.1 インタプリタ言語としてのPython
Pythonはインタプリタ型の言語です。CやC++のようにコンパイルしてから実行ファイルを作るのではなく、ソースコードをインタプリタが1行ずつ読み取りながら動作します。
CPython
一般的に“Python”と呼ばれる際に指す実装がCPythonです。C言語で書かれており、Pythonコードをバイトコードに変換してから実行します。公式サイト(python.org)で配布されているものは通常このCPythonです。
他の実装(参考)
PyPy: JIT(Just In Time)コンパイラにより高速な実行が可能になることを目指した実装。
IronPython: .NET上で動くPython実装。
Jython: Java VM上で動くPython実装。
多くの場合、最初は公式のCPythonを使うのが一般的であり、特に特殊な要件が無ければCPythonだけで十分です。
3.2 CPythonの中で行われる処理の流れ
ソースコード読み込み
python スクリプト名.py のように呼び出すと、Pythonインタプリタがスクリプトを読み込みます。
バイトコードへの変換
読み込んだコードをPython独自のバイトコードに変換し、.pycファイルとしてキャッシュすることがあります(__pycache__ディレクトリなどに生成)。
実行(バイトコードの解釈)
バイトコードをPythonインタプリタが解釈しながら処理を進め、実行結果が得られます。
このように「ソースコード → バイトコード → (インタプリタにより) 実行」という流れで処理を行います。
4, プログラムをいざ書きたい
pythonには標準のテキストエディタ IDLE (Integrated Development and Learning Environment)があります。
idle # どっちか
idle3
ファイルを作って
print("hello world!")
と書いて保存してみてください
python3 path/to/hello_world/file.py #自分が保存したファイルのパスに変更
こんな状態だととてもではないが、何千ファイルに及ぶアプリケーションの開発は厳しいです。
そのため次の節で紹介するように色々の便利ツールの設定を
5,今後快適に開発を進めるために
pythonの開発に関しては以下のものを用意してください!
- python
- Cursor(VS codeの拡張版) 開発の主要環境 (codeコマンドも同時にインストールを選択)
- Oh My Zsh
あとででいいけど絶対あった方がいいもの - Post Man ... apiをテスト用
- DockerDesktop ... Docker(コンテナ)を走らせる用
6, CusorとTerminalを用いた基本的な開発のフロー
6.1 新しいプロジェクトの作成
まずターミナルを開いてください
mac のターミナルはUnixベースでデフォルトでZsh(Bashの上位互換)が採用されているのでbashのコマンドを覚えるといいです。
ls
cd
mkdir
touch
これらのコマンドを使ってCursorでtest_projectを開いてください
~~~/test_project/test.py ##このディレクトリを作る
➜ ~ ls
➜ ~ cd Desktop
➜ ~ mkdir test_project
➜ ~ cd test_project
➜ ~ touch test.py
➜ ~ cd ..
➜ ~ code . #もしnot foundとなったら、cursorのGUIから開いてください
もし code commandがない場合この記事に従ってインストールしてください
6.2 ショートカットキー
では次にショートカットキーを確認しましょう
command + B : 左サイドバーをトグル
command + J : terminalとdebug consoleをトグル
command + L : AIとチャットをトグル、新規作成
command + shift + L : AIとチャットをトグル、select している codeをチャットのコンテキストに追加
command + P : 検索バーに飛ぶ
command + shift + L : 検索バーに飛んで、コマンドmodeに入る
control + -(マイナス) : 一個前の画面に戻る
control + _(アンダースコア) : 一個後の画面に戻る
control + / : コメントアウト
いっぱいあるので上記のサイトなどをみてください
6.3 Extentions
全言語共通
- Git Graph
- Docker
- DevContainers
python関係 - Pylance
- Python Type Hint
- Ruff
フロントエンド開発 - Auto Import
- Auto Rename Tag
- Prettier
- Tailwind CSS IntelliSense
これらを必要に応じてインストールしてください
6.4 仮想環境を作る
これで
print("hello world!")
python3 test.py
これで無事ファイルが実行できました!
環境構築終了です!
いっぱいコードを楽しみましょう!
今後もよく登場する単語
- プログラム ... 一連の命令(コード)をまとめたもの,単体実行が前提の場合が多い
- パッケージ ... プログラムやライブラリを一括して配布・管理できるようにまとめたもの
- モジュール ... プログラムの一部として機能を提供する小さなコードのまとまり
- ライブラリ ... 再利用可能なコードの集まり,大体パッケージとして提供
「パッケージ」は配布単位の概念、「ライブラリ」はコードの集合としての概念
「モジュールが集まるとライブラリになり、ライブラリをパッケージとして配布し、パッケージを使ってプログラムを構築する」という関係になっています。
担当:松岡
Discussion