Pandas環境を整える


目的

Pandasの環境を整える

Ref.

pyenv
venv
pandas
sample code

環境と作業概要

  • vagrantを使ってubuntu18.04を用意
  • ubuntu18.04上でpyenvを使ってpython3.7.5をinstall
  • venvを使って、python packageの仮想環境を構築
  • 仮想環境上でpandasをinstall
  • 簡単なpython sample codeを書いてpandasの動作確認

作業ログ

bash
# vagrant用のディレクトリ作成
$ mkdir python-study && cd python-study

# vagrantfileを生成
$ vagrant init bento/ubuntu-18.04

# 仮想マシンを起動
$ vagrant up

# 仮想マシンにlogin
$ vagrant ssh

# pandasと依存関係のあるpackageをaptでinstallする
vagrant@vagrant:~$ sudo apt-get install libffi-dev libbz2-dev liblzma-dev

# pythonのversionを複数切り替えて使えるようになるpyenvをinstallする
vagrant@vagrant:~$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
vagrant@vagrant:~$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
vagrant@vagrant:~$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
vagrant@vagrant:~$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

# 一度logout => loginする

# python 3.7.5をinstallする
vagrant@vagrant:~$ pyenv install 3.7.5

# directoryを作成し、その配下でのみpython 3.7.5を使うようにする
vagrant@vagrant:~$ mkdir pj01 && cd pj01
vagrant@vagrant:~/pj01$ pyenv local 3.7.5
vagrant@vagrant:~/pj01$ pyenv version
3.7.5 (set by /home/vagrant/pj01/.python-version)

# 参考: 動作確認。こんな感じで、directoryを移動すると、pythonのversionが変わる
vagrant@vagrant:~$ python -V
Python 2.7.15+
vagrant@vagrant:~$ cd pj01/
vagrant@vagrant:~/pj01$ python -V
Python 3.7.5

# 先ほどのpython3.7.5環境上で、venvを使って、python package管理の仮想環境を作る。
# これで、他のpython3.7.5環境とpython packageを独立管理できるようになる。
# tips: venv という名前でプロジェクトディレクトリ直下に作成しておく($ python3 -m venv venv)のが良い.ディレクトリ移動 → venv アクティベート → 作業 という流れができたり、IDEによっては1つのプロジェクト内でソースコードと一緒にvenvも管理できるので.
vagrant@vagrant:~/pj01$ python -m venv venv

# Activateして今回作った仮想環境に入る
vagrant@vagrant:~/pj01$ source venv/bin/activate
(venv) vagrant@vagrant:~/pj01$

# pipをversion up
(venv) vagrant@vagrant:~/pj01$ pip install --upgrade pip

# pipを使ってpandasをinstall
(venv) vagrant@vagrant:~/pj01$ pip install pandas

Pandasの動作確認

pj01ディレクトリにて、pandasを使ったtest用のpython codeを作成する

main.py
# -*- coding: utf-8 -*-
import pandas as pd

# リスト作成
data1 = [158, 157, 157]

# インデックスラベル
index_data = ['aaa','bbb','ccc']

# リストをSeriesに変換
data2 = pd.Series(data1, index=index_data)
print(data2)

Pandasを使ったテストコードを実行する

bash
pvagrant@vagrant:~/pj01$ python main.py
aaa       158
bbb       157
ccc       157
dtype: int64
vagrant@vagrant:~/pj01$

参考: 仮想環境から抜ける方法

bash
(venv) vagrant@vagrant:~/pj01$ deactivate