【2025年版】初めてのPython環境構築


目次

- [1. Python実行環境の構成](#1-python実行環境の構成)
- [2. VS Codeのインストール](#2-vs-codeのインストール)
- [3. uvのインストール](#3-uvのインストール)
- [4. Pythonのインストール](#4-pythonのインストール)
- [5. プロジェクトの初期設定](#5-プロジェクトの初期設定)
- [6. Jupyter NotebookでPythonを実行する](#6-jupyter-notebookでpythonを実行する)

# 1. Python実行環境の構成

Pythonは1991年に開発された、シンプルで読みやすい文法を特徴とするプログラミング言語。Pythonプログラムを実行するための環境は、3つの要素に大別できる。

1. Python本体（インタプリタ）
   - コードを読み取り、CPUで実行するためのプログラム本体。
   - 現在はPython 3.8 ~ 3.12あたりのバージョンが一般的に利用される。
2. 仮想環境
   - Python・外部ライブラリのバージョンを管理する仕組み。
   - プロジェクト別の依存関係の分離や、他の環境での再現性の確保が可能。
3. IDE（総合開発環境）
   - コードの記述・ファイルの管理などを行うためのアプリケーション。
   - ユーザーが直接操作する場所。

各要素の対応関係は下図のイメージ。

<div align="center">
<img width=50% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4053880/6290c0bb-5621-4020-b779-b964c2e6ec30.png">
</div>


# 2. VS Codeのインストール

「VS Code」とは、世界中のプログラマーが利用するMicrosoft社が提供する無償のアプリケーション。拡張機能の追加や仮想環境の構築がしやすく、Python以外の言語も利用できる。GitHubとも連携できるので、コードの管理や複数人の開発が可能。最近はGitHub Copilotとも連携し、コードの自動補完やインラインチャットが非常に便利。

VS Codeはウェブブラウザからインストール可能。

https://code.visualstudio.com/

![VSCode説明.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4053880/1a7ea662-863d-4b7a-9c4a-33a1f2b43580.png)

以降の処理はターミナルに[シェルスクリプト](https://qiita.com/osw_nuco/items/a5d7173c1e443030875f)を入力して行う。MacOSだと「ターミナル」、Windowsだと「コマンドプロンプト」or「Power Shell」で同じものが開ける。

## （追記）VS Codeのおすすめの初期設定 <!-- omit in toc -->

VS Codeユーザーは当たり前に使っているけど、初心者は知らない初期設定をまとめる。

- **日本語化**  
   拡張機能「Japanese Language Pack for Visual Studio Code」をインストール。
   
   参考記事：[vscodeの日本語化](https://zenn.dev/mitakaosamu/articles/2b29608a538736)

- **自動保存**  
   `設定` → `ファイルの自動保存` を有効化。
   
   参考記事：[VSCode使ってるなら自動保存と自動フォーマットを使おう](https://qiita.com/shun-shobon/items/3f7b96752022df3a9f57)

- **ターミナルからVS Codeを起動**  
   `⌘`＋`Shift`＋`p`でコマンドパレットを開き、コマンドパレットに`shell command`と打ち込んで、`シェルコマンド : PATH内にcodeコマンドをインストールします`を選択。

   ターミナル↔︎VS Codeと行き来することが多いので、`code .`でターミナルから直接VS Codeを開けることを知っておくと便利

   参考記事：[VSCode使いなら抑えておくべきCodeコマンド](https://zenn.dev/ryuu/articles/what-vscodecommand)


# 3. uvのインストール

「uv」とは、ターミナル内で起動するPythonの仮想環境管理ツール。Pythonの仮想環境を構築する際には「Pythonのバージョン」と「外部ライブラリのバージョン」を設定する必要がある。uvは両者を一つのアプリケーションで統合して管理できる、2024年リリースの最新ツールである。

[公式ドキュメント](https://docs.astral.sh/uv/)によると、以下のコマンドをターミナルに入力してダウンロードする。

```{bash}
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

uvがインストールされたかどうかの確認。

```{bash}
uv version
> uv 0.6.11
```

# 4. Pythonのインストール

uvを通じて、任意のPythonをインストールする。インストールしたPythonは、作成したプロジェクト(後述)を通じて起動される。

```{bash}
# Python 3.12の最新バージョンをインストール
uv python install 3.12

# インストール済みのPythonバージョンを確認
uv python list
```

# 5. プロジェクトの初期設定

VS Codeで「ファイル」→「開く」から、プロジェクトの保存先のディレクトリを開く。

その後、`uv init (プロジェクト名)`コマンドでプロジェクトファイルを作成する（[公式ドキュメント](https://docs.astral.sh/uv/reference/cli/#uv-init)参照）。

```{bash}
# Pythonプロジェクトの立ち上げ
uv init my-project
```

作成された`my-project`ディレクトリ内のファイル構成。

```
.
├── .gitignore          # gitに編集履歴を保存しないファイルの指定
├── .python-version     # Pythonのバージョン指定
├── main.py             # Pythonファイルのサンプル
├── pyproject.toml      # プロジェクト全体の設定
└── README.md
```


# 6. Jupyter NotebookでPythonを実行する

「Jupyter Notebook」とは、プログラミングのコード、説明文（Markdown）、図表、数式、出力結果などを1つのインターフェース上で統合的に扱えるツール。今回は「.ipynb」ファイル内でPythonを実行できるようにする。

1. VS Codeを起動し、プロジェクトを開く
   - 「ファイル」→「開く」から、作成したプロジェクトのディレクトリを開く
2. VS Codeの拡張機能のインストール
   - ウィンドウ左側にある「拡張機能(Extension)」を開く
   - 検索ボックスに「Jupyter」と入力し、「Jupyter (Microsoft製)」拡張をインストール
   - 「Python」拡張が入っていなければ、それも合わせてインストール
3. 外部ライブラリのインストール
   - ターミナルに`uv add notebook`と入力して、Jupter Notebookを実行するためのライブラリをインストールする
   - インストールすると、`.venv`（ファイル化された仮想環境）と`uv.lock`（外部ライブラリの指定ファイル）が作成される
   - ライブラリの追加は`uv add (ライブラリ名)`、ライブラリの削除は`uv remove (ライブラリ名)`で実行 → `.venv`と`uv.lock`が自動更新される
4. .ipynbファイルの作成
   - 「ファイル」→「新しいファイル」から、入力ボックスに「`test.ipynb`」と入力して新規ファイルを作成する
   - VS Code内では、作成したファイルが自動で保存される
5. Python仮想環境の選択
   - 「カーネルの設定(Select Interpreter)」から、「Python環境」→「.venv」
6. 実行ボタンでコードを実行
   - 「+ コード」でセルの作成
   - セルに `print("Hello World!")` と書いて、▶ ボタンを押して実行

![Jupyter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4053880/f6d5efbd-45c3-445f-b4af-c63f7e310f18.png)