ユーザ用ツール

サイト用ツール


development:language:python:pyenv:centos

文書の過去の版を表示しています。


CentOS

このページについて

インストール記録

  • OS:CentOS7
  • shell:bash
  • 各自のhomeディレクトリにインストールするものとした

pyenvは複数のpythonバージョンを保持できる。

pyenv-virtualenvは同一バージョンのpythonでライブラリなどを別に保持できる1)

事前準備

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git

インストール

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

設定

# (末尾に入力)

.bashrc
# for pyenv
if [ -d "~/.pyenv" ]; then
  echo '>> Exist pyenv'
  export PYENV_ROOT="~/.pyenv"
  export PATH=${PYENV_ROOT}/bin:$PATH
  eval "$(pyenv init -)"
  eval "$(pyenv virtualenv-init -)"
else
  echo '>> NO INSTALL pyenv'
fi

設定のリロード

# source $HOME/.bashrc

python環境の構築

インストールリスト

# pyenv install --list

python2.7.15をインストール2)

# pyenv install 2.7.14

python3.7.2をインストール3)

# pyenv install 3.7.2

まだ、pyenv内に準備されているだけ

$ 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
2.7.15
# pyenv versions
* 2.7.15 (set by /root/pyenvtest/.python-version)
  3.6.3
# python -V
Python 2.7.14

障害

installコマンドがないと言われる

$ pyenv install --list
pyenv: no such command `install'

こんなエラーが出て動かない

以下のコマンドで治った4)

$ sudo ./.pyenv/plugins/python-build/install.sh

3.7系のインストールに失敗する

$ 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

以下のパッケージをインストールすることで解消

# sudo yum install libffi-devel
1)
virtualenvと混同されることが多いので注意
2) , 3)
数分かかります
4)
.pyenv/を削除してinstallし直して治るケースもある模様
development/language/python/pyenv/centos.1547702522.txt.gz · 最終更新: 2019/01/17 05:22 by hayashi