pyenvのインストール
インストール
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
zshを使っている場合は.zshrcに、bashを使っている場合は.bash_profileに以下を追加
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
必要なら
source ~/.zshrc
で反映させます
pyenvの使い方
同期
pyenv rehash
リスト表示
pyenv install --list
環境のダウンロード
pyenv install 3.11.0
設定
pyenv local 3.11.0
(local をglobal にするとどのディレクトリでも環境が上書きされるようになる)
確認
python --version
パッケージのインストール例
python -m pip install beautifulsoup4
(pipを直接使うとシステムのコマンドが実行されてしまうので注意)
設定解除
pyenv local --unset
パッケージをプロジェクトごとに設定したい(簡易バージョン)
-tオプションを使用する
例
python -m pip install beautifulsoup4 -t site-packages
実行する前にPYTHONPATHを設定しておく必要がある
export PYTHONPATH="./site-packages"
サンプル
python ./test.py
test.py
import bs4
print(bs4.__version__)
参考
virtualenvを使う場合(高度)
virtualenvをインストール
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
pyenvと同様に.zshrcに追加
eval "$(pyenv virtualenv-init -)"
環境を作成
pyenv virtualenv 3.11.0 sandbox3
有効化
pyenv activate sandbox3
pipの確認
pip --version
環境下でのインストール
pip install beautifulsoup4==4.12.0
(パッケージは~/.pyenv/versions/sandbox3/site-packages/以下に保存される)
無効化(環境を抜ける)
pyenv deactivate
リスト確認
pyenv virtualenvs
追記
virtualenvの主要部分はvenvとしてPython標準に取り込まれていたそうです
ただ一部はマージされなかったので未だにインストールは必要です