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コンテナ内で直接開発することができます。これにより、ローカル環境を汚さずに開発が可能になります。
設定手順:
- VSCodeに「Remote – Containers」拡張機能をインストール
- 左下のリモート接続アイコンをクリック
- 「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開発環境を構築してみてください。