Python
Linux
Python3
centos7

CentOS7にpython環境構築まとめ

More than 1 year has passed since last update.

はじめに

以下の環境構築

  • centos/7
  • 共有フォルダ設定
  • python3系
  • pyenv
  • path設定
  • pip

他にもcentosの環境構築を解説している記事はいろいろあるが,それらの記事をわかりやすくまとめたもの

実行環境

macOSで2017年12月にテスト

  • Vagrant 1.9.7
  • VirtualBox 5.1.24

前提

CentOS7のセットアップ

$ mkdir ~/centos7
$ cd ~/centos7
$ vagrant init

生成されたVagrantFileに以下を追記

...
Vagrant.configure("2") do |config|
  # 以下を追記
  config.vm.box = "centos/7"
  config.vm.box_version = "1710.01"

https://app.vagrantup.com/centos/boxes/7
で好きなバージョンをbox_versionに書いても可

$ vagrant up

共有フォルダ設定

ホストOS

$ mkdir ~/centos7/host_shared

生成されたVagrantFileに以下を追記

...
  # config.vm.synced_folder "../data", "/vagrant_data"

# 以下に変更
  config.vm.synced_folder "./host_shared", "/guest_shared", create: true
  • "host_shared": ホストOS側の共有フォルダ
  • "guest_shared": ゲストOS側の共有フォルダ(/に生成)
  • create: true:ゲストOS側にフォルダがない場合自動生成する

これでcentosのセットアップ終了

python3系+pyenvインストール

元々2系のpythonがcentosにはあるが,3系に移行
ついでにpyenvでバージョン管理

pyenvとpyenv-virtualenvのインストール

ホストOS

$ cd ~/centos7
$ vagrant ssh

ゲストOS

$ sudo yum install gcc bzip2 bzip2-devel openssl openssl-devel readline readline-devel
$ sudo yum install git
$ cd /usr/local
$ sudo git clone git://github.com/yyuu/pyenv.git ./pyenv
$ cd pyenv/plugins
$ sudo git clone git://github.com/yyuu/pyenv-virtualenv.git

path設定

$ echo 'export PYENV_ROOT="/usr/local/pyenv"' | sudo tee -a /etc/profile.d/pyenv.sh
$ echo 'export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"' | sudo tee -a /etc/profile.d/pyenv.sh

# 設定反映
$ source /etc/profile.d/pyenv.sh

# 確認
$ pyenv --version
pyenv 1.1.5-44-g85a66a9

sudo時にpathとpyenv_rootの引き継ぎ

$ sudo visudo

以下のように編集

(コメントアウト)
# Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

(以下を追加)
Defaults    env_keep += "PATH"
Defaults    env_keep += "PYENV_ROOT"

pyenvとpythonの構築

インストールできるバージョンの確認

$ pyenv install --list

好きなpythonのバージョン(今回は最新の3.6.3)をインストール

$ sudo pyenv install -v 3.6.3

python 3.6.3 をデフォルトに設定

$ sudo pyenv global 3.6.3

開発プロジェクトのpyenvを設定する

$ cd ~/my_project
$ sudo pyenv virtualenv 3.6.3 my_project
$ sudo pyenv local my_project

pipインストール

$ sudo yum install python-pip
$ sudo pip install pip --upgrade

参考

おわり