pyenvをインストールする(2025.04.09投稿記事の転載)

衝動買いしたMacBook Air M1とPythonの挑戦

当ブログを放置している間に、MacBook Air M1の最終モデルを衝動買いしていました。 新しい環境でPython3.13.2をインストールしたものの、chatterbotを使う際に spacyのインストールがうまくいかず、どう対処するか悩んだお話です。

Pyenvのインストール

複数バージョンのPythonを併用するには、Pyenvをインストールするのがおすすめです。コパイロット君に教わりながら、Pyenvのインストール手順を進めました。

手順1: Brewのインストール

以下のコマンドを実行して、Homebrewをインストールします。

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

手順2: Pyenvのインストール

Brewを使ってPyenvをインストールします。また、現在インストールされているPythonのバージョンを確認するために以下を設定します。

# Setting PATH for Python 3.13 PATH="/Library/Frameworks/Python.framework/Versions/3.13/bin:${PATH}" export PATH eval "$(/opt/homebrew/bin/brew shellenv)" brew install pyenv

手順3: 設定ファイルの編集

以下のファイルを編集します(シェルに応じて選択)。

~/.bash_profile ~/.zshrc(通常macOSではzshがデフォルト) ~/.bashrc

以下の定義を追記して設定を反映します。

export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" source ~/.zshrc

手順4: PyenvでPythonバージョンを管理

インストール可能なバージョン一覧を確認し、必要なバージョンをインストールします。

pyenv install --list pyenv install 3.12.9 pyenv global 3.12.9 pyenv local 3.13.2

結論

環境構築に時間を割きたくないため、理解が浅かったこともありPyenvの利用を断念しました。 次回は、Pyenvを使わずにPythonのバージョンを手動で切り替える方法について紹介します。

リトライ(2025/5/6)

というわけでpyenvリトライしました。

前回は、globalとlocalのところで??(pipどうなるの?)となって、時間がもったいなかったのでやめちゃいましたが、その後冷静に考えなおし普通にglobalは、特に指定がないと使われるデフォルトのpythonとpipのバージョン。localは設定したディレクトリ配下に移動して実行したときに使われるpythonとpipのバージョンと理解しました。

ということで

pyenv global 3.13.2

これで意識せずにpython、pipを実行したときに使用されるバージョンは3.13.2になりました。

このあと、cd コマンドで バージョン 3.12.9を使用したいディレクトリに移動してコマンド実行。

pyenv local 3.12.9

それぞれの状況に応じて、バージョン確認。まず、ディレクトリを意識しない場合

>> python -V Python 3.13.2 >> pip -V pip 25.1.1 from /Users/ユーザー名/.pyenv/versions/3.13.2/lib/python3.13/site-packages/pip (python 3.13)

特定ディレクトリに移動した場合

>> python -V Python 3.12.9 >> pip -V pip 25.1.1 from /Users/ユーザー名/.pyenv/versions/3.12.9/lib/python3.12/site-packages/pip (python 3.12)

これでスッキリ解決しました。

pythonの公式サイトからインストーラをダウンロードしてインストールした場合とパッケージの保存場所が違うため、元々使っていた環境をお掃除して終了。

旧環境

/Library/Frameworks/Python.framework/Versions/3.13

pyenv

/Users/ユーザー名/.pyenv/versions/3.12.9/lib/python3.12

参考サイト

Qiitaの該当記事はこちら

コメント

このブログの人気の投稿

【python】PySide6 におけるウィンドウとかダイアログボックス内のアイテムの自動調整

脆弱性評価システムを作る〜CVSSとは〜

dict型オブジェクトを内包するlistオブジェクトのコピー