ノーバグノーライフ

細々と記事書いていきます!!

vagrant python3.6.5のローカル環境を作成したメモ

pythonの環境を作ったのでローカル環境構築メモ
vagrantの導入はできるという人はpyenvの導入から見てください。
※ブログ書いている途中で3.7がでてしまった。

ゴール

  • virtual box
  • vagrant
  • centOS6.7
  • python 3.6.5

上記の技術要素でのローカル環境が構築できる。

virtual boxの導入

https://www.virtualbox.org/wiki/Downloads

自分のOSにあった物をダウンロードしてください。

vagrantの導入

https://www.vagrantup.com/downloads.html

こちらも自分のOSにあった物をダウンロードしてください。

vagrantで仮想マシンを起動させる

以下のコマンドでboxの登録ができます。

vagrant box add 任意の名前 boxファイル

今回は僕が使いやすいcentOS6.7をダウンロードしていきます。
以下のコマンドを実施することでboxが登録できます。

vagrant box add centos6.7 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box

ダウンロードが終わったら以下のコマンドでboxが登録されているか確認しましょう。

vagrant box list

「centos6.7」と表示されたら成功です。

vagrantの設定ファイルを生成していきます。
※centos6.7の場所はインストールした時のボックスの名前です。

vagrant init centos6.7

vagrantを立ち上げます。

vagrant up

無事終わったら完了です。

ここから先はvagrantで生成したcentOSの中で作業していくので以下のコマンドを実施してssh接続してください。

vagrant ssh

pyenvの導入

pyenvはgithubからクローンします。 gitを利用するためにgitをインストール

sudo yum install git

次にpyenvをgithubからクローンしてきます。

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

pyenvにパスを通します。

vi ~/.bashrc

一番下に追加

export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
  export PATH=${PYENV_ROOT}/bin:$PATH
  eval "$(pyenv init -)"
fi

登録したパスを反映させます。

source ~/.bashrc

以下のコマンドでバージョンが表示されれば成功です。

pyenv --version

表示されない場合は、以下のコマンドを実行してみてください。

eval "$(pyenv init -)"

これでpyenvの導入は完了です。

python3.6.5をインストール

まず、必要なライブラリをインストールします。

sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel

詳しくはこちらを参照してください。 https://github.com/pyenv/pyenv/wiki/Common-build-problems

pythonをインストールする際に「curl: (35) SSL connect error」がでるので
ライブラリの更新も行います。

sudo yum update nss

pyenvでインストールできるpythonのバージョンを確認します。

pyenv install -l

今回はpython3.6.5をインストールします。

pyenv install 3.6.5

使用するpythonのバージョンを指定します。

pyenv global 3.6.5

以下のコマンドでバージョンが出力されれば成功です。

python -V

pipのバージョンもあげておきましょう。

pip install -U pip

これで完成です。 アプリケーションの導入は以下になります。

python3.6.5 flaskのローカル環境を作成したメモ - ノーバグノーライフ

ありがとうございました。