development:language:python:pyenv
目次
pyenv + pyenv-virtualenv
このページについて
インストール記録
- OS:FreeBSD
- shell:tcsh
pyenvは複数のpythonバージョンを保持できる。
pyenv-virtualenvは同一バージョンのpythonでライブラリなどを別に保持できる1)
事前準備
依存するパッケージを事前に入れておきます
# pkg install git bash sqlite3
インストール
# git clone https://github.com/yyuu/pyenv.git ~/.pyenv # git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
設定
# (末尾に入力)
homeにインストール
- .cshrc
# Setting for pyenv # ***************** if ( -e $HOME/.pyenv/bin/pyenv ) then echo '>> Exist pyenv' # pyenvのルートパスを設定 setenv PYENV_ROOT $HOME/.pyenv # pyenvのディレクトリをPATHに追加 setenv PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH # デフォルトテンポラリディレクトリを~/tmpに変更 setenv TMPDIR $HOME/tmp # pyenvの再起動 pyenv rehash else echo '>> NO INSTALL pyenv' endif
/usr/binにインストール
- .bashrc
# for pyenv export PYENV_ROOT="/usr/bin/.pyenv" if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init --path)" fi
変更2)
eval "$(pyenv init -)" ↓ eval "$(pyenv init --path)"
設定のリロード
# source $HOME/.cshrc
または
# source $HOME/.bashrc
※ PATHが書き換えられてpyenvのpythonが生きるため、この段階ではpythonが動かなくなってるので注意
python環境の構築
インストールリスト
# pyenv install --list
python2.7.14をインストール3)
# pyenv install 2.7.14
python3.6.3をインストール4)
# pyenv install 3.6.3
まだ、pyenv内に準備されているだけ
# python -V pyenv: python: command not found The `python' command exists in these Python versions: 2.7.14 3.6.3
環境ごとにディレクトリを作成(local)
# mkdir ~/tmp/python # cd ~/tmp/python
python環境の構築
# pyenv local 2.7.14
確認
# pyenv local 2.7.14 # pyenv versions * 2.7.14 (set by /root/pyenvtest/.python-version) 3.6.3 # python -V Python 2.7.14
同じpythonバージョンで、別環境の構築
モジュールも別になります
# pyenv virtualenv 3.6.3 Flask-3.6.3 ↑バージョン ↑環境名
環境ごとにディレクトリを作成(local)
# mkdir ~/tmp/python-flask # cd ~/tmp/python-flask
python環境の構築
# pyenv local Flask-3.6.3
確認
# pyenv local Flask-3.6.3 # pyenv versions 2.7.14 3.6.3 * Flask-3.6.3 (set by /root/tmp/python-flask/.python-version) # python -V Python 3.6.3
環境の保存と再構築
wheelをインストール
$ pyenv exec pip install wheel
pipでインストールしたモジュールの情報を保存
$ pyenv exec pip freeze > pyp_list.txt $ pyenv exec pip wheel --wheel-dir=~/tmp/wheelhouse -r pyp_list.txt
保存した環境を使って同じものをインストール
$ pyenv virtualenv 3.6.4 test-364 $ pyenv global test-364 $ pip install -r pyp_list.txt --use-wheel --no-index --find-links=tmp/wheelhouse $ pip freeze
コマンド
globalコマンドで切り替え
# pyenv global 3.6.3 # pyenv versions 2.7.14 * 3.6.3 (set by /root/.pyenv/version)
localコマンドで切り替え
pyenv versions で表示されているパスが違うことに注意
# cd targetpath # pyenv local 2.7.14 # pyenv versions * 2.7.14 (set by /targetpath/.python-version) 3.6.3 # cd ~ # pyenv versions 2.7.14 * 3.6.3 (set by /root/.pyenv/version)
インストール済リスト
# pyenv versions
virtualenv環境の作成
# pyenv virtualenv 3.6.3 my-env-3.6.3
virtualenv環境のリスト
# pyenv virtualenvs
virtualenvの有効化
# pyenv activate my-virtual-env-3.4.0
インストールした環境の削除
# pyenv uninstall my-virtual-env-3.4.0
Pyenvのupdate
# git clone git://github.com/yyuu/pyenv-update.git ~/.pyenv/plugins/pyenv-update # pyenv update
参考
development/language/python/pyenv.txt · 最終更新: 2021/12/13 01:02 by hayashi