⛰️
install pyenv on 2022-12
Macを買い替えて、久々にpyenvとvirtualenv入れ直すか〜というところで改めて導入方法を調べながら進めていったのでそのメモ on 2022-12-25
TL;DR
# Xcode Command Line Toolsを入れる
xcode-select --install
# homebrewを入れる
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# pyenvを入れる
brew update
brew install pyenv
## .zshrcに以下を追記
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
## 変更を反映させる
exec "$SHELL"
## 推奨ビルド環境を整える
brew install openssl readline sqlite3 xz zlib tcl-tk
# インストール可能なpythonバージョンを調べる
pyenv install --list
# pythonインストール
pyenv install 3.11.1
# とりあえず適当に最新バージョンが使いたい場合
## グローバルに使用するpythonバージョンの指定
pyenv global 3.11.1
# プロジェクト毎に異なるパッケージを入れて使っていきたい場合
## pyenv-virtualenvインストール
brew install pyenv-virtualenv
### .zshrcに以下を追記
eval "$(pyenv virtualenv-init -)"
### 変更を反映させる
exec "$SHELL"
## 特定のプロジェクト用の環境作成(versionには、pyenvでインストール済みのものを指定する)
pyenv virtualenv 3.11.1 hogeproject
## 環境の適用(プロジェクトルートディレクトリで叩く)
pyenv local hogeproject
流れ
Xcode Command Line Toolsを入れる
Xcode重いんですが、まあMacで開発環境を構築するなら、そして容量に余裕があるなら深く考えず軽率に入れておくと良いと思う
xcode-select --install
Homebrewを入れる
公式記載のコマンドを叩くだけ
と思ったら、インストール後に「これをzsh的なやつに書いてね!」と言われたので書いた
# Set PATH, MANPATH, etc., for Homebrew.
eval "$(/opt/homebrew/bin/brew shellenv)"
pyenvを入れる
公式READMEに従って進めただけ
-
https://github.com/pyenv/pyenv#getting-pyenv
- 項番3のOPTIONALのところは無視しました(
brew doctorしてもwarning出なかった
)
- 項番3のOPTIONALのところは無視しました(
- https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv
- https://github.com/pyenv/pyenv/wiki#suggested-build-environment
pythonを入れる
プロジェクトで使いたいバージョンのpythonを入れよう もちろん公式READMEに書いてあるよ
pyenv-virtualenvを入れる
安心の公式README
ここまで進めると、.zshrcはこんな感じになる
# homebrew
## Set PATH, MANPATH, etc., for Homebrew.
eval "$(/opt/homebrew/bin/brew shellenv)"
# pyenv
## https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# pyenv-virtualenv
## https://github.com/pyenv/pyenv-virtualenv#installing-with-homebrew-for-macos-users
eval "$(pyenv virtualenv-init -)"
特定のプロジェクト用のpython環境作成
特定のプロジェクト用の環境を作成すると、見た目上2つ生成されるけど、symlinkなので気にしないでねとのこと
% pyenv virtualenv 3.11.1 hogeproject
% pyenv versions
* system (set by /Users/keikuchen/.pyenv/version)
3.11.1
3.11.1/envs/hogeproject
hogeproject
環境の有効化/無効化はpyenv activate/deactivateコマンドがあるけど、これは毎回叩き直す必要があって面倒。pyenv local [環境名]
を使って、プロジェクトルートディレクトリに.python-version
ファイルを作成する方が便利
pyenv local hogeproject
おわりに
最新の導入方法は変わりゆくものだと思うので、ここに書いてあることは一つの参考程度にして、基本的には公式ドキュメントを都度読むのが確実で良いと思います
なんかPoetryというのもあるらしいですが、pyenvもまだまだ元気そうなので飽きるまではpyenvにしておこうかなという気持ち
Discussion