development:language:python:pyenv
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| development:language:python:pyenv [2017/11/21 06:43] – [pyenv] 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:// | ||
