こんにゃくの勉強記

プログラミング好きなとある大学生の勉強メモ的な、日記的なものです

【Mac】Python環境構築のメモ Pyenv + Poetry

はじめに

新しい Mac を使うことになりました。Python の環境構築をしなければなりません。でも前の Mac でどういう構築方法を取ったか覚えていません...

構築方法は覚えていないのですが、最終的に使っていたのは Pyenv + Poetry の環境です。今後の自分のために、構築方法をメモしておくことにします

環境

- Apple M3 Max
- macOS Sonoma (Version 14.1)
- zsh

手順

以下の順でインストールしていきます。

  1. Homebrew
  2. Pyenv
  3. 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 には補完機能があるそうです。内容が散らかってしまいそうなので紹介しませんでしたが、すぐに導入できますし、おすすめです。

参考