EurekaMoments

This is my studying logs about Autonomous driving, Machine learning technologies and etc.

Dockerを使えない人向けのPython仮想環境自動構築スクリプト

背景

  • 職場のパソコンでPython仮想環境を構築するのにDockerを使いたかった
  • しかし、近年の有償化や会社の面倒なルールにより気軽に使えないのが現状
  • 何も気にすることなく簡単にPython仮想環境を構築する手段が必要になった

やったこと

  • pyenv + venvで簡単に仮想環境を構築してくれるシェルスクリプトを作った
  • よく使う主要なライブラリを一通り自動でインストールするようにした
  • テンプレート化して下記GitHubで公開した

github.com

使い方

1. GitHubからリポジトリをクローンする

git clone https://github.com/ShisatoYano/PythonTemplate.git

2. 環境構築用スクリプトを実行

ルートディレクトリで下記スクリプトを実行

source setup_all.sh

3. 環境構築が完了するのを待つ

スクリプト実行後に環境構築が開始される
f:id:sy4310:20211022222400p:plain

pyenvにより任意のバージョンのPythonがインストールされる
f:id:sy4310:20211022222554p:plain

最後にライブラリが一通りインストールされ、下記のようになれば完了 このディレクトリ内のみ有効なローカルのPython環境の出来上がり
f:id:sy4310:20211022222817p:plain

実行したスクリプトの内容はこちら

# install dependencies
sudo apt install -y build-essential libffi-dev libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev

# download pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# update .bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

# confirm pyenv was insalled
pyenv -v

# install python by pyenv
pyenv install 3.9.7
pyenv versions

# change python version at only this directory
pyenv local 3.9.7

# update .bash_profile
echo 'export PATH="$HOME/.pyenv/shims:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

# confirm python version
python --version
which python

# setup virtual environment
python -m venv env
ls env -al

# activate virtual environment
source env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip list

4. サンプルコードを実行してみる

最後に下記コードを実行して動作確認

python src/sample/sample_show_graph.py

このようにmatplotlibのグラフが表示されればOK
f:id:sy4310:20211022223848p:plain