ユーザ用ツール

サイト用ツール


development:language:python:pyenv:centos

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
development:language:python:pyenv:centos [2019/01/17 03:36] hayashidevelopment:language:python:pyenv:centos [2019/01/17 06:59] (現在) hayashi
行 19: 行 19:
 ===== インストール ===== ===== インストール =====
  
-  $ sudo git clone https://github.com/yyuu/pyenv.git ~/.pyenv +  $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv 
-  $ sudo git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv+  $ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
  
 ===== 設定 ===== ===== 設定 =====
行 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: no such command `install'
 +こんなエラーが出て動かない\\
 +以下のコマンドで治った((.pyenv/を削除してinstallし直して治るケースもある模様))
 +
 +  $ sudo ./.pyenv/plugins/python-build/install.sh
 +
 +
 +==== 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.1547696164.txt.gz · 最終更新: 2019/01/17 03:36 by hayashi