ユーザ用ツール

サイト用ツール


development:language:python:pyenv

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
development:language:python:pyenv [2018/01/15 03:50] – [同じpythonバージョンで、別環境の構築] hayashidevelopment:language:python:pyenv [2018/07/26 07:03] – [設定] hayashi
行 1: 行 1:
 +====== pyenv + pyenv-virtualenv ======
  
 +===== このページについて =====
 +
 +
 +インストール記録
 +
 +  * OS:FreeBSD
 +  * shell:tcsh
 +
 +pyenvは複数のpythonバージョンを保持できる。\\
 +pyenv-virtualenvは同一バージョンのpythonでライブラリなどを別に保持できる((virtualenvと混同されることが多いので注意))
 +===== 事前準備 =====
 +依存するパッケージを事前に入れておきます
 +
 +  # 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
 +===== 設定 =====
 +# (末尾に入力)
 +
 +<file shell .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
 +</file>
 +
 +<file shell .bashrc>
 +# for pyenv
 +export PYENV_ROOT="/usr/bin/.pyenv"
 +if [ -d "${PYENV_ROOT}" ]; then
 +export PATH=${PYENV_ROOT}/bin:$PATH
 +eval "$(pyenv init -)"
 +fi
 +</file>
 +
 +設定のリロード
 +
 +  # source $HOME/.cshrc
 +
 +※ 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' 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
 +
 +===== 参考 =====
 +
 +[[https://qiita.com/Kodaira_/items/feadfef9add468e3a85b#wheel%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6pip%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AE%E6%83%85%E5%A0%B1%E3%82%92%E4%BF%9D%E5%AD%98|pyenv と pyenv-virtualenv で環境構築]]
 +
 +[[http://tdoc.info/blog/2014/01/15/pip.html|pipの使い方 (2014/1バージョン)]]
development/language/python/pyenv.txt · 最終更新: 2021/12/13 01:02 by hayashi