development:language:python:pyenv
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
development:language:python:pyenv [2017/11/21 06:51] – [同じpythonバージョンで、別環境の構築] hayashi | development:language:python:pyenv [2021/12/13 01:02] (現在) – hayashi | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== pyenv + pyenv-virtualenv ====== | ||
+ | ===== このページについて ===== | ||
+ | |||
+ | |||
+ | インストール記録 | ||
+ | |||
+ | * OS:FreeBSD | ||
+ | * shell:tcsh | ||
+ | |||
+ | pyenvは複数のpythonバージョンを保持できる。\\ | ||
+ | pyenv-virtualenvは同一バージョンのpythonでライブラリなどを別に保持できる((virtualenvと混同されることが多いので注意)) | ||
+ | ===== 事前準備 ===== | ||
+ | 依存するパッケージを事前に入れておきます | ||
+ | |||
+ | # pkg install git bash sqlite3 | ||
+ | ===== インストール ===== | ||
+ | |||
+ | |||
+ | # git clone https:// | ||
+ | # git clone https:// | ||
+ | ===== 設定 ===== | ||
+ | # (末尾に入力) | ||
+ | |||
+ | homeにインストール | ||
+ | <file shell .cshrc> | ||
+ | # Setting for pyenv | ||
+ | # ***************** | ||
+ | if ( -e $HOME/ | ||
+ | echo '>> | ||
+ | # pyenvのルートパスを設定 | ||
+ | setenv PYENV_ROOT $HOME/ | ||
+ | # pyenvのディレクトリをPATHに追加 | ||
+ | setenv PATH $PYENV_ROOT/ | ||
+ | # デフォルトテンポラリディレクトリを~/ | ||
+ | setenv TMPDIR $HOME/tmp | ||
+ | # pyenvの再起動 | ||
+ | pyenv rehash | ||
+ | else | ||
+ | echo '>> | ||
+ | |||
+ | endif | ||
+ | </ | ||
+ | |||
+ | / | ||
+ | |||
+ | <file shell .bashrc> | ||
+ | # for pyenv | ||
+ | export PYENV_ROOT="/ | ||
+ | if [ -d " | ||
+ | export PATH=${PYENV_ROOT}/ | ||
+ | eval " | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | 変更((2021.12.13確認: | ||
+ | eval " | ||
+ | ↓ | ||
+ | eval " | ||
+ | |||
+ | 設定のリロード | ||
+ | |||
+ | # source $HOME/ | ||
+ | または | ||
+ | # source $HOME/ | ||
+ | |||
+ | ※ PATHが書き換えられてpyenvのpythonが生きるため、この段階ではpythonが動かなくなってるので注意 | ||
+ | |||
+ | ===== python環境の構築 ===== | ||
+ | インストールリスト | ||
+ | |||
+ | # pyenv install --list | ||
+ | |||
+ | python2.7.14をインストール((数分かかります)) | ||
+ | |||
+ | # pyenv install 2.7.14 | ||
+ | |||
+ | python3.6.3をインストール((数分かかります)) | ||
+ | |||
+ | # pyenv install 3.6.3 | ||
+ | |||
+ | まだ、pyenv内に準備されているだけ | ||
+ | |||
+ | # python -V | ||
+ | pyenv: python: command not found | ||
+ | | ||
+ | The `python' | ||
+ | 2.7.14 | ||
+ | 3.6.3 | ||
+ | |||
+ | 環境ごとにディレクトリを作成(local) | ||
+ | |||
+ | # mkdir ~/ | ||
+ | # cd ~/ | ||
+ | |||
+ | python環境の構築 | ||
+ | |||
+ | # pyenv local 2.7.14 | ||
+ | 確認 | ||
+ | # pyenv local | ||
+ | 2.7.14 | ||
+ | # pyenv versions | ||
+ | * 2.7.14 (set by / | ||
+ | 3.6.3 | ||
+ | # python -V | ||
+ | Python 2.7.14 | ||
+ | |||
+ | ===== 同じpythonバージョンで、別環境の構築 ===== | ||
+ | |||
+ | モジュールも別になります | ||
+ | |||
+ | # pyenv virtualenv 3.6.3 Flask-3.6.3 | ||
+ | | ||
+ | |||
+ | 環境ごとにディレクトリを作成(local) | ||
+ | |||
+ | # mkdir ~/ | ||
+ | # cd ~/ | ||
+ | |||
+ | 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 / | ||
+ | # 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=~/ | ||
+ | |||
+ | ==== 保存した環境を使って同じものをインストール ==== | ||
+ | |||
+ | $ pyenv virtualenv 3.6.4 test-364 | ||
+ | $ pyenv global test-364 | ||
+ | $ pip install -r pyp_list.txt --use-wheel --no-index --find-links=tmp/ | ||
+ | $ pip freeze | ||
+ | |||
+ | ===== コマンド ===== | ||
+ | |||
+ | ==== globalコマンドで切り替え ==== | ||
+ | |||
+ | |||
+ | # pyenv global 3.6.3 | ||
+ | # pyenv versions | ||
+ | 2.7.14 | ||
+ | * 3.6.3 (set by / | ||
+ | |||
+ | ==== localコマンドで切り替え ==== | ||
+ | pyenv versions で表示されているパスが違うことに注意 | ||
+ | |||
+ | # cd targetpath | ||
+ | # pyenv local 2.7.14 | ||
+ | # pyenv versions | ||
+ | * 2.7.14 (set by / | ||
+ | 3.6.3 | ||
+ | # cd ~ | ||
+ | # pyenv versions | ||
+ | 2.7.14 | ||
+ | * 3.6.3 (set by / | ||
+ | |||
+ | ==== インストール済リスト ==== | ||
+ | # 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:// | ||
+ | # pyenv update | ||
+ | |||
+ | ===== 参考 ===== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[http:// |