PR

MacでPython環境を構築する方法とDockerを使った効率的な開発環境の作り方を教えてください

MacでPython環境を構築する方法はいくつかありますが、特に2025年現在ではDockerを使った方法が推奨されています。これにより、開発環境の分離や再現性の高い環境構築が可能になります。ここでは、従来の方法とDockerを使った方法の両方をご紹介します。

1. 従来のPython環境構築方法

まず、Homebrewを使ったPythonのインストール方法です。Apple Silicon(M1/M2/M3チップ)搭載MacとIntel Macの両方に対応しています。

# Homebrewのインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Pythonのインストール
brew install python

# バージョン確認
python3 --version

仮想環境を使用することで、プロジェクトごとに異なるバージョンのPythonやパッケージを管理できます。

# venvによる仮想環境の作成
python3 -m venv myproject

# 仮想環境の有効化
source myproject/bin/activate

# 必要なパッケージのインストール
pip install pandas numpy matplotlib

# 仮想環境の無効化
deactivate

2. Dockerを使ったPython環境構築

Dockerを使うと、OSやハードウェアに依存しない一貫した開発環境を構築できます。これは特にチーム開発や、「自分の環境では動くのに本番環境では動かない」といった問題を防ぐのに効果的です。

まず、Docker Desktop for Macをインストールします。Apple Silicon MacとIntel Macで対応バージョンが異なるので注意してください。

基本的なDockerfileの例:

FROM python:3.12-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD ["python", "app.py"]

Docker Composeを使うと、より複雑な環境(データベースなど複数のサービス)も簡単に構築できます:

version: '3'

services:
  app:
    build: .
    volumes:
      - .:/app
    ports:
      - "8000:8000"
    depends_on:
      - db
  
  db:
    image: postgres:15
    environment:
      POSTGRES_PASSWORD: password
      POSTGRES_USER: user
      POSTGRES_DB: myapp
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

以下のコマンドでDockerコンテナを起動します:

# Dockerイメージのビルド
docker build -t my-python-app .

# コンテナの起動
docker run -p 8000:8000 my-python-app

# Docker Composeを使う場合
docker-compose up

3. VSCodeとの連携

VSCodeの「Remote – Containers」拡張機能を使うと、Dockerコンテナ内で直接開発することができます。これにより、ローカル環境を汚さずに開発が可能になります。

設定手順:

  1. VSCodeに「Remote – Containers」拡張機能をインストール
  2. 左下のリモート接続アイコンをクリック
  3. 「Reopen in Container」を選択

.devcontainer/devcontainer.json の設定例:

{
  "name": "Python Dev Environment",
  "dockerFile": "../Dockerfile",
  "extensions": [
    "ms-python.python",
    "ms-python.vscode-pylance"
  ],
  "settings": {
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true
  }
}

4. Dockerを使う利点

Dockerを使ったPython環境構築の主な利点は以下の通りです:

  • 環境の再現性が高い(「動かない」問題の解消)
  • プロジェクトごとに独立した環境を簡単に作成できる
  • 本番環境との一貫性を保ちやすい
  • チーム全員が同じ環境で開発できる
  • ローカルマシンを汚さない(環境変数の衝突などを防ぐ)
  • 異なるPythonバージョンを簡単に切り替えられる

2025年現在では特に、マイクロサービスアーキテクチャの普及やクラウドネイティブな開発の台頭により、Docker環境でのPython開発はスタンダードな選択肢となっています。ぜひDockerを活用して、効率的なPython開発環境を構築してみてください。

タイトルとURLをコピーしました