\ お問い合わせはこちら /

【2025年版】MacでPython環境構築ガイド【pyenv+Poetryで始めるモダン開発環境】

  • MacでPython環境を構築したい
  • Pythonが実行できるようにしたい

このような方に向けて書きました。

そもそもMacには最初からPythonが入っていますが、次の理由から使いません。

  • macOS 本体が内部で使うためのもの
  • バージョンが古い、勝手に消すと OS に悪影響がある
  • python コマンドが 2系/3系どちらを指すか曖昧

そこでこの記事では、次のようなモダンな構築で環境を作ります。

  • バージョン管理:pyenv
  • パッケージ管理 & 仮想環境管理:Poetry
Nommy

僕がこれまでに参加したプロジェクトは、ほとんどこの構成でした!

1. Homebrew をインストールする

Homebrewは、色々なソフトウェアをインストールするために必要な管理ツールです。

すでにインストールされていることも多いですが、まだの方はインストールしましょう。

Nommy

ここでは「インストールされているかの確認」も行なっていきます。

1-1. Homebrew が入っているか確認

次のコマンドで、Homebrewが入っているかを確認しましょう。

Bash
brew -v

バージョンが表示されれば、Homebrewはもう入っているのでOKです。

一方でcommand not foundと表示されたら、次の1-2に進んでインストールをしましょう。

1-2. Homebrew のインストール

次のコマンドを実行します。

Bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

ちょっとわかりづらいのですが、インストール後に指示が出てきます。

M1チップ以降(Appleシリコン)だと、次のようなコマンドを実行する場合が多いです。

Bash
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

最後にHomebrewが正常にインストールされたか確認しましょう。

Bash
brew -v

バージョンが表示されれば、インストール成功です。

2. pyenv をインストールする

Homebrewを使って、pyenvをインストールしていきます。

pyenvは、同じPC上に複数のPythonをインストールできたり、使うバージョンを入れ替えたりできるツールです。

2-1. Homebrew で pyenv を入れる

インストールコマンドを実行しましょう。

Bash
brew install pyenv

2-2. シェル設定に pyenv を追加

~/.zshrcに、次の内容を追記します。

Bash
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

追記した内容を反映するために、次のコマンドを実行。

Bash
source ~/.zshrc

最後にpyenvがインストールされたか確認します。

Bash
pyenv -v

バージョン情報が表示されれば、pyenvのインストールは完了しています。

3. pyenv で Python 本体をインストール

Macに直接ではなく、pyenv経由でPythonをインストールします。

3-1. インストール可能なバージョン一覧

次のコマンドで、pyenvでインストールできるPyhtonのバージョンが表示されます。

Bash
pyenv install --list

この中から、インストールするバージョンを選びましょう。

3-2. Python をインストール

Pythonをインストールするコマンドは、以下です。

Bash
pyenv install 3.12

上記では3.12系の最新バージョンがインストールされます。

3-3. デフォルトの Python を設定

デフォルトで使うPythonのバージョンを指定しましょう。

Bash
pyenv global 3.12

ここでは先ほどの3.12系の最新バージョンをデフォルトにしました。

最後にPythonのバージョンを確認しましょう。

Bash
python -V
which python

以下のように表示されていれば、インストールは成功です。

実行コマンド結果例
python -VPython 3.12.3
which python~/.pyenv/shims/python

ここまでくると、ローカルでPythonが実行できるようになっています。

4. Poetry をインストールする

Poetry は次のようなツールです。

  • 依存パッケージの管理
  • 仮想環境の管理
  • pyproject.toml ベースのモダンなプロジェクト管理

つまり、pip, venvの役割をPoetryひとつで実現できるという便利ツールです。

4-1. インストール方法

いくつか方法がありますが、シンプルなのは 公式インストーラ を使うやり方です。

ターミナルで次のコマンドを実行します。

Bash
curl -sSL https://install.python-poetry.org | python3 -

インストール後、パスを通すために ~/.zshrc に追記します。

インストール完了メッセージに出てきた内容をコピペでOKです。
よくある例としては、次のようなものです。

Bash
export PATH="$HOME/.local/bin:$PATH"

~/.zshrc に追記した内容を反映しましょう。

Bash
source ~/.zshrc

Poetryが正常にインストールできたか、確認をします。

Bash
poetry --version

バージョンが表示されれば、インストールは成功です。

4-2. プロジェクト内に仮想環境を作成する

次のコマンドを実行して、プロジェクトフォルダ内に仮想環境を作る設定としましょう。

Bash
poetry config virtualenvs.in-project true

これにより、プロジェクトフォルダ内に.venv/というフォルダが作成されます。

ライブラリのインストールを行うと.venv/の中に順次追加されていき、他のプロジェクトと環境の分離ができるようになります。

VS Code の .code-workspace 設定を追加する

プロジェクト直下に my-project.code-workspace を作成します。

Bash
my-project/
  ├── my_project/
  ├── tests/
  ├── pyproject.toml
  ├── .venv/
  └── my-project.code-workspace   これを追加

my-project.code-workspace

my-project.code-workspaceの内容は、例えば次のようにします。

JSON
{
    "folders": [
        {
            "path": "."
        }
    ],
    "settings": {    
        // 保存時にフォーマット
        "editor.formatOnSave": true,

        // 不要なファイルを非表示
        "files.exclude": {
            "**/*.pyc": true,
            "**/.pytest_cache": true,
            "**/.mypy_cache": true,
            "**/.DS_Store": true,
            "**/__pycache__": true
        },

        // Python インタプリタ: Poetry .venv
        "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",

        // Python 設定
        "[python]": {
            "editor.defaultFormatter": "ms-python.black-formatter",
            "editor.codeActionsOnSave": {
                "source.organizeImports": "always"
            }
        }
    },

    "extensions": {
        "recommendations": [
            "ms-python.python",
            "ms-python.black-formatter",
            "ms-python.isort",
            "mechatroner.rainbow-csv"
        ]
    }
}

pyproject.toml

black, isortの各種設定もしておきましょう。

TOML
[project]
# 省略

[tool.poetry]
# 省略

[build-system]
# 省略

[tool.poetry.group.dev.dependencies]
# 省略

[tool.black]
line-length = 120
target-version = ['py312']
include = '\.pyi?$'
extend-exclude = '''
/(
  # directories
  \.eggs
  | \.git
  | \.hg
  | \.mypy_cache
  | \.tox
  | \.venv
  | build
  | dist
)/
'''

[tool.isort]
profile = "black"
line_length = 120
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
skip_glob = ["**/migrations/**", "**/__pycache__/**"]

まとめ:Mac × Python × Poetry のモダン環境

お疲れさまでした!

本記事の内容を軽くおさらいしておきます。

  • macOS 標準の Python は触らない
  • pyenv で自分用の Python を安全に管理
  • Poetry
    • プロジェクトごとに仮想環境を自動管理
    • 依存パッケージを pyproject.toml で一元管理
  • VS Code からも同じ仮想環境を使って開発

これでMacでPythonをいじる環境としては、かなりいい感じになったはずです。

次はPoetryを使ったプロジェクトの作成方法をお読みいただくと、実際の開発のセットアップが総ざらいできていい感じだと思います。

次の記事も、ぜひどうぞ。

» 参考:Poetryを使ったプロジェクトの初期設定方法(準備中)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

普段はエンジニアとして働きつつ、旅行では「住むように旅する」をテーマに動き回っています。

TABIGRAMMER では、
・旅の情報(台湾を中心としたアジア旅ガイド)
・ミニマリストの持ち物や旅の効率化テクニック
・ブログ運営やプログラミング記事

といった、旅とITが交差するコンテンツを発信しています。

難しいことをわかりやすく、旅をより快適に。そんなスタイルで記事を書いています。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)