🐥

環境構築(Python)と開発準備

2025/02/16に公開

プログラムを実行するということとは?

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がない場合この記事に従ってインストールしてください

https://zenn.dev/mkurita/scraps/204e2aa0437714

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 + / : コメントアウト

https://qiita.com/okmtz/items/4c7cc6b53ae105f8b6b5
いっぱいあるので上記のサイトなどをみてください

6.3 Extentions

全言語共通

  • Git Graph
  • Docker
  • DevContainers
    python関係
  • Pylance
  • Python Type Hint
  • Ruff
    フロントエンド開発
  • Auto Import
  • Auto Rename Tag
  • Prettier
  • Tailwind CSS IntelliSense
    これらを必要に応じてインストールしてください

6.4 仮想環境を作る

https://qiita.com/shun_sakamoto/items/7944d0ac4d30edf91fde
この記事にしたがって仮想環境を作ってinterpreterをその仮想環境に設定してください
これで

print("hello world!")
python3 test.py

これで無事ファイルが実行できました!
環境構築終了です!
いっぱいコードを楽しみましょう!

今後もよく登場する単語

  • プログラム ... 一連の命令(コード)をまとめたもの,単体実行が前提の場合が多い
  • パッケージ ... プログラムやライブラリを一括して配布・管理できるようにまとめたもの
  • モジュール ... プログラムの一部として機能を提供する小さなコードのまとまり
  • ライブラリ ... 再利用可能なコードの集まり,大体パッケージとして提供

「パッケージ」は配布単位の概念、「ライブラリ」はコードの集合としての概念

「モジュールが集まるとライブラリになり、ライブラリをパッケージとして配布し、パッケージを使ってプログラムを構築する」という関係になっています。

担当:松岡

Discussion