2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WaffleAdvent Calendar 2024

Day 9

pyenvを使ってPythonのバージョンを管理する(mac)

Last updated at Posted at 2024-12-09

はじめに

pyenvを使ってから、勉強会やハッカソン等でPythonの環境を合わせるのが楽になったので、pyenvのインストールや使い方をまとめました。
Waffleアドベントカレンダー9日目の記事です。

環境

・mac (Sequoia 15.0.1)

pyenvとは?

pyenvとはPythonのバージョン管理ができるコマンドラインツールです。
通常、pythonをインストールすると、1つのバージョンしか扱うことができません。pyenvを用いることで、複数のPythonのバージョンを管理することができ、必要に応じてPythonのバージョンを切り替えることができます。

pyenvの使い方

1. pyenvのインストール

pyenvをインストールする際は、Homebrewを使います。

brew install pyenv

インストールできているか確認

pyenv -v

ここで、pyenvのバージョンが出てきたら、成功です。

2. pyenvの初期設定

pyenvの初期設定を行なっていきます。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

以下のコマンドを実行し、.zshrcファイルの設定を反映させます。

source ~/.zshrc

3. Pythonのインストール

pyenvを使って、Pythonをインストールしていきます。
まず、インストールできるPythonのバージョンを確認します。

pyenv install --list

このコマンドを実行すると、以下のように、インストールできるPythonのバージョンの一覧が出てきます。(一部抜粋)

  3.12.5
  3.12.6
  3.12.7
  3.13.0
  3.13.0t
  3.13-dev
  3.13t-dev
  3.14.0a1
  3.14.0a1t
  3.14-dev
  3.14t-dev

次に、Pythonをインストールします。例として、3.12.1をインストールします。

pyenv install 3.12.1

次に、インストールされたPythonのバージョンを確認します。

pyenv versions

すると、以下のような結果が出力されます。

* system (set by /Users/username/.pyenv/version)
  3.12.1

まだこの状態では 3.12.1 を使用できません。もし、Macに元々Pythonをインストールしている場合、そのバージョンのPythonを使用おり、インストールされていない場合もまだ使用することができません。 今回インストールしたバージョンのPythonに変更します。バージョンの切り替えには、globalコマンドを用いるか、localコマンドを用いるか2パターンあります。

●globalコマンドとlocalコマンドの違い
・globalコマンド:どのフォルダでも、指定したPythonのバージョンを使用することができる。
・localコマンド:実行したディレクトリ内だけで、指定したPythonのバージョンを使用することができる。

# globalで、Pythonのバージョンを変更
pyenv global 3.12.1

# localで、Pythonのバージョンを変更
pyenv local 3.12.1

以下のコマンドを実行して、pythonのバージョンを確認します。

python --version

結果として、Python 3.12.1が出力されていれば、大丈夫です。

補足

Pythonのバージョンを切り替えるごとに、必要に応じてパッケージを一からインストールする必要があります。
通常以下のコマンドでパッケージをインストールします。

pip install [package名]

例として、numpyをインストールする際は、以下のコマンドで行います。

pip install numpy

もし、ハッカソン等で、他の方に自分の環境に合わせてもらう、あるいは合わせる場合、以下のコードを実行すると、インストールの作業が楽になります。

# 自分の環境でインストールされているパッケージをrequirements.txtに書き出す
pip freeze > requirements.txt

# 書き出したパッケージを一気にインストールする
pip install -r requirements.txt

おわりに

今回、pyenvを用いて、Pythonのバージョンを管理しました。pyenvを用いることで、パッケージとの互換性の問題の解消に繋がったり、各プロジェクトにあったバージョンに簡単に変更することが出来る点が、とても便利だなと感じました。pyenv以外にも、Pythonのバージョンを管理するツールはいっぱいあります。自分でどの仮想環境を構築するツールを使うか調べてみるのも面白そうだなと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?