development:language:python:pyenv:centos
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
development:language:python:pyenv:centos [2019/01/17 03:30] – hayashi | development:language:python:pyenv:centos [2019/01/17 06:59] (現在) – hayashi | ||
---|---|---|---|
行 8: | 行 8: | ||
* OS:CentOS7 | * OS:CentOS7 | ||
* shell:bash | * shell:bash | ||
- | * 全ユーザが利用できるよう/ | + | * 各自のhomeディレクトリにインストールするものとした |
pyenvは複数のpythonバージョンを保持できる。\\ | pyenvは複数のpythonバージョンを保持できる。\\ | ||
行 19: | 行 19: | ||
===== インストール ===== | ===== インストール ===== | ||
- | $ sudo git clone https:// | + | $ git clone https:// |
- | $ sudo git clone https:// | + | $ git clone https:// |
===== 設定 ===== | ===== 設定 ===== | ||
行 27: | 行 27: | ||
<file shell .bashrc> | <file shell .bashrc> | ||
# for pyenv | # for pyenv | ||
- | if [ -d "/opt/ | + | if [ -e "${HOME}/.pyenv/bin/pyenv" ]; then |
- | export PYENV_ROOT=" | + | echo '>> |
+ | export PYENV_ROOT=" | ||
export PATH=${PYENV_ROOT}/ | export PATH=${PYENV_ROOT}/ | ||
eval " | eval " | ||
eval " | eval " | ||
+ | else | ||
+ | echo '>> | ||
fi | fi | ||
</ | </ | ||
行 39: | 行 42: | ||
# source $HOME/ | # source $HOME/ | ||
- | ※ PATHが書き換えられてpyenvのpythonが生きるため、この段階ではpythonが動かなくなってるので注意 | + | ===== python環境の構築 ===== |
+ | インストール可能なpythonのリスト | ||
+ | # pyenv install --list | ||
+ | |||
+ | python2.7.15をインストール((数分かかります)) | ||
+ | |||
+ | # pyenv install 2.7.15 | ||
+ | |||
+ | python3.7.2をインストール((数分かかります)) | ||
+ | |||
+ | # pyenv install 3.7.2 | ||
+ | |||
+ | まだ、pyenv内に準備されているだけで、systemのpythonが使われています | ||
+ | |||
+ | $ pyenv versions | ||
+ | * system (set by ~/ | ||
+ | 2.7.15 | ||
+ | 3.7.2 | ||
+ | |||
+ | 環境ごとにディレクトリを作成(local) | ||
+ | |||
+ | # mkdir ~/ | ||
+ | # cd ~/ | ||
+ | |||
+ | python環境の構築 | ||
+ | |||
+ | # pyenv local 2.7.15 | ||
+ | 確認 | ||
+ | # pyenv local # <= このディレクトリに設定されたpythonの表示 | ||
+ | 2.7.15 | ||
+ | # pyenv versions | ||
+ | system | ||
+ | * 2.7.15 (set by / | ||
+ | 3.6.3 | ||
+ | # python -V | ||
+ | Python 2.7.15 | ||
+ | # cd ~ | ||
+ | # python -V | ||
+ | Python 3.7.2 | ||
+ | | ||
+ | ===== 同じ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 | ||
+ | | ||
+ | ===== 環境の保存と再構築 ===== | ||
+ | |||
+ | |||
+ | ==== pipでインストールしたモジュールの情報を保存 ==== | ||
+ | |||
+ | $ pip freeze > requirements.txt | ||
+ | |||
+ | ==== 保存した環境を使って同じものをインストール ==== | ||
+ | |||
+ | $ pip install -r requirements.txt | ||
+ | $ 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 | ||
+ | |||
+ | |||
+ | ===== 障害 ===== | ||
+ | ==== installコマンドがないと言われる ==== | ||
+ | |||
+ | $ pyenv install --list | ||
+ | pyenv: no such command `install' | ||
+ | こんなエラーが出て動かない\\ | ||
+ | 以下のコマンドで治った((.pyenv/ | ||
+ | |||
+ | $ sudo ./ | ||
+ | |||
+ | |||
+ | ==== 3.7系のインストールに失敗する ==== | ||
+ | |||
+ | < | ||
+ | $ pyenv install 3.7.2 | ||
+ | Downloading Python-3.7.2.tar.xz... | ||
+ | -> https:// | ||
+ | Installing Python-3.7.2... | ||
+ | |||
+ | BUILD FAILED (CentOS Linux 7 using python-build 20180424) | ||
+ | |||
+ | Inspect or clean up the working tree at / | ||
+ | Results logged to / | ||
+ | |||
+ | Last 10 log lines: | ||
+ | File "/ | ||
+ | File "/ | ||
+ | File "/ | ||
+ | File "/ | ||
+ | File "/ | ||
+ | File "/ | ||
+ | File "/ | ||
+ | from _ctypes import Union, Structure, Array | ||
+ | ModuleNotFoundError: | ||
+ | make: *** [install] エラー 1 | ||
+ | </ | ||
+ | |||
+ | 以下のパッケージをインストールすることで解消 | ||
+ | |||
+ | # sudo yum install libffi-devel | ||
development/language/python/pyenv/centos.1547695806.txt.gz · 最終更新: 2019/01/17 03:30 by hayashi