2020.10.07

Pythonの環境構築

TL;DR

Anacondaをやめてpyenv+Pipenvにしました。<br>

2020/11/8追記

その後poetryに移行しました。 既存のプロジェクトはpipenvを使ってますが順次移行していきます。

経緯

今までよくないなと思いつつAnacondaを入れてPythonを動かしてました。
MacのアップデートをしたらJupyterが起動しなくなってしまったので
これを機にPythonの環境をちゃんと作りました。<br> 6月くらいにやった作業で今更ですがたまには技術ブログっぽいことも書きたいので書きます。<br> ちなみにJupyterが起動しなくなったのはanacondaのPATHが変わってたからでした。あるある。

pyenvをインストール

pyenvをbrewでインストール。
一応gitからcloneしてくる方法もあります。

$ brew install pyenv

そして下の3行を.bash_profile.zprofileに追記。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

追記したら適用

# zshの人
$ source ~/.zprofile

# bashの人
$ source ~/.bash_profile

pyenvでPythonをインストール

pyenvでPythonのバージョンを指定してインストールします。

$ pyenv install 3.8.2
$ pyenv global 3.8.2

インストールしたか確認します。

$ python --version
Python 3.8.2

でglobal設定したversionを確認。 反映されていなかったら which python でパスを確認。

また、pyenvを通してインストールしたversionは一覧で見れる

$ pyenv versions
system
* 3.8.2 (set by $HOME/.pyenv/versions)

Pipenvをインストール

pip install pipenv

プロジェクトを管理

既存プロジェクトの場合

git clone 既存プロジェクト
cd 既存プロジェクト
pipenv install

これで完了 便利‪☺︎‬

新規プロジェクトの場合

mkdir 新規プロジェクト
cd 新規プロジェクト
# 例えば今回はPython 3.8.2を使いたいとする
# globalで同じバージョンをインストールしてたらスキップしてok
pyenv install 3.8.2
pyenv local 3.8.2
# pipenvでプロジェクトを初期化
pipenv --python 3.8

これでPipfileを書いて pipenv installすれば環境構築Done🎉

さいごに

この作業自体は半年くらい前にしたのですが、
今回他の人に説明するために書きました。<br>

Pipenv遅いなぁと思ってきたのでPoetryに乗り換えようか迷ってます。