ユーザ用ツール

サイト用ツール


development:language:python:pyenv:centos

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
development:language:python:pyenv:centos [2019/01/17 03:50] – [障害] hayashidevelopment:language:python:pyenv:centos [2019/01/17 06:59] (現在) hayashi
行 27: 行 27:
 <file shell .bashrc> <file shell .bashrc>
 # for pyenv # for pyenv
-if [ -"~/.pyenv" ]; then+if [ -"${HOME}/.pyenv/bin/pyenv" ]; then
   echo '>> Exist pyenv'   echo '>> Exist pyenv'
-  export PYENV_ROOT="~/.pyenv"+  export PYENV_ROOT="${HOME}/.pyenv"
   export PATH=${PYENV_ROOT}/bin:$PATH   export PATH=${PYENV_ROOT}/bin:$PATH
   eval "$(pyenv init -)"   eval "$(pyenv init -)"
行 42: 行 42:
   # source $HOME/.bashrc   # source $HOME/.bashrc
  
-※ 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 ~/.pyenv/version) 
 +    2.7.15 
 +    3.7.2 
 + 
 +環境ごとにディレクトリを作成(local) 
 + 
 +  # mkdir ~/tmp/python 
 +  # cd ~/tmp/python 
 + 
 +python環境の構築 
 + 
 +  # pyenv local 2.7.15 
 +確認 
 +  # pyenv local      # <= このディレクトリに設定されたpythonの表示 
 +  2.7.15 
 +  # pyenv versions   # <= インストール済みのpythonの表示((*現在のものを指している)) 
 +    system 
 +  * 2.7.15 (set by /home/xxxxxx/.pyenv/version) 
 +    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 ~/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 
 +   
 +===== 環境の保存と再構築 ===== 
 + 
 + 
 +==== 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 /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 
  
 ===== 障害 ===== ===== 障害 =====
 +==== installコマンドがないと言われる ====
  
   $ pyenv install --list   $ pyenv install --list
行 54: 行 181:
  
  
 +==== 3.7系のインストールに失敗する ====
 +
 +<code>
 +$ pyenv install 3.7.2
 +Downloading Python-3.7.2.tar.xz...
 +-> https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
 +Installing Python-3.7.2...
 +
 +BUILD FAILED (CentOS Linux 7 using python-build 20180424)
 +
 +Inspect or clean up the working tree at /tmp/python-build.20190117132709.32698
 +Results logged to /tmp/python-build.20190117132709.32698.log
 +
 +Last 10 log lines:
 +  File "/tmp/tmp3gm99fpe/pip-18.1-py2.py3-none-any.whl/pip/_internal/cli/main_parser.py", line 12, in <module>
 +  File "/tmp/tmp3gm99fpe/pip-18.1-py2.py3-none-any.whl/pip/_internal/commands/__init__.py", line 6, in <module>
 +  File "/tmp/tmp3gm99fpe/pip-18.1-py2.py3-none-any.whl/pip/_internal/commands/completion.py", line 6, in <module>
 +  File "/tmp/tmp3gm99fpe/pip-18.1-py2.py3-none-any.whl/pip/_internal/cli/base_command.py", line 18, in <module>
 +  File "/tmp/tmp3gm99fpe/pip-18.1-py2.py3-none-any.whl/pip/_internal/download.py", line 38, in <module>
 +  File "/tmp/tmp3gm99fpe/pip-18.1-py2.py3-none-any.whl/pip/_internal/utils/glibc.py", line 3, in <module>
 +  File "/tmp/python-build.20190117132709.32698/Python-3.7.2/Lib/ctypes/__init__.py", line 7, in <module>
 +    from _ctypes import Union, Structure, Array
 +ModuleNotFoundError: No module named '_ctypes'
 +make: *** [install] エラー 1
 +</code>
  
 +以下のパッケージをインストールすることで解消
  
 +  # sudo yum install libffi-devel
  
development/language/python/pyenv/centos.1547697032.txt.gz · 最終更新: 2019/01/17 03:50 by hayashi