はじめに
新しい Mac を使うことになりました。Python の環境構築をしなければなりません。でも前の Mac でどういう構築方法を取ったか覚えていません...
構築方法は覚えていないのですが、最終的に使っていたのは Pyenv + Poetry の環境です。今後の自分のために、構築方法をメモしておくことにします
環境
- Apple M3 Max - macOS Sonoma (Version 14.1) - zsh
手順
以下の順でインストールしていきます。
- Homebrew
- Pyenv
- Poetry
Homebrew
公式サイトを訪ねると
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
というコマンドが載っています。これをターミナルに貼り付けて実行します。PATH の設定は必要なく、インストール後すぐに使い始めることができます。
試しに、
% brew --version
を実行して、インストールされたかどうか確認しておきましょう。
私はインストール後に気が付いたのですが、上で紹介したインストールコマンドの少し下に、If you're on macOS, try our new .pkg installer.
というメッセージが書かれていました。公式リポジトリの Github Release から .pkg ファイルをダウンロードすることでもインストールできるようです。Release ページの Assets のところに .pkg ファイルのダウンロードリンクが貼ってあります。
Pyenv
Pyenv のインストール
公式リポジトリを参考にインストールしていきます。
% brew update % brew install pyenv
で Pyenv がインストールできます。
次に環境変数の設定をしていくのですが、ver. 2.3.0 から設定方法がアップデートされ、シンプルになったようです。それまでの 2.0.0-2.2.5 での設定方法も動きはするようです。ここでは 2.3.0 以降の方法を使います。
以下のコマンドで環境変数の設定ができます。
% echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc % echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc % echo 'eval "$(pyenv init -)"' >> ~/.zshrc
上のコマンドを実行後に、
% source ~/.zshrc
で設定ファイルを再読み込みして、Pyenv が実行可能になったかどうかまで調べておきましょう。
% pyenv --version
Bash など他のシェルの場合の設定方法は、公式リポジトリの Set up your shell environment for Pyenv を参考にしてください。
Poetry
概要
以前は Homebrew で Poetry をインストールしました。が、この方法は推奨されていなさそう(参考:python - Why is not recommended to install poetry with homebrew? - Stack Overflow)で、実際に公式サイトにも載っていないので、pipx を使う方法に切り替えました。
pipx とは、「システムにインストール済みの他のパッケージとの間に依存関係の衝突を起こすことなく Python のコマンドラインアプリケーションをインストールし動作させるためのツール」(引用元:Python Packaging User Guide)です。Python 製パッケージには、例えば sphinx や black のようにコマンドラインアプリケーションを提供しているものも多いです。これらのパッケージをいい感じに管理してくれるツールが pipx です。
pipx のインストール
pipx が入っていなければ、まずは Homebrew で pipx をインストールします。
% brew install pipx
pipx でインストールするアプリケーションを使うには~/.local/bin
への PATH を通す必要があります。以下のコマンドで PATH を通しましょう。もしくは、直接 ~/.zshrc などに書き込んでも大丈夫です。
% pipx ensurepath
設定ファイルを再読み込みします。私はこれを忘れて、poetry をインストールしたはずなのに起動できず、時間が少し消えました。
% source ~/.zshrc
Poetry のインストール
公式サイトを参考にします。以下のコマンドを実行するだけです。
% pipx install poetry
pipx ではバージョンの指定もできるので、特定のバージョンの poetry をインストールしたい場合は公式サイトの「Install Poetry (advanced)」の見出しのところを参考にしてください。
終わりに
今まで適当にしていた Python の環境構築をメモついでにまとめてみました。しばらく経てば設定方法やツールのトレンドも変わりそうですが、現時点でのメモとして残しておきます。
pipx の存在は知っていたのですが、Poetry のサイト以外で見たことがなく、導入していなかったんですよね。便利そうなツールなので知れてよかったです。
pipx や Poetry には補完機能があるそうです。内容が散らかってしまいそうなので紹介しませんでしたが、すぐに導入できますし、おすすめです。
参考
- Homebrew — The Missing Package Manager for macOS (or Linux)
- pyenv/pyenv: Simple Python version management
- python - Why is not recommended to install poetry with homebrew? - Stack Overflow
- Introduction | Documentation | Poetry - Python dependency management and packaging made easy
- プロジェクト概要 - Python Packaging User Guide