本番環境は基本poetryかvenv(requirements+constraints)でやるけれど、手元で普通のアプリ開発と複数分野の機械学習・信号処理をやるときにはanacondaと普通のpython両方使いたいので(更にプロジェクト毎の複数pythonヴァージョン対応もしたいので)pyenvを使っている
pyenvにある程度なれてる人向け。手順はmac、Linuxの場合は以下。Windowsは知らない。
pyenv, pyenv-virtualenv
brew install pyenv pyenv-virtualenv
.zshrc
に以下を記載
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
anacondaの場合
pyenvでanaconda入れる
とりあえず3系の5.3.1の場合
pyenv install miniconda3-4.3.30
conda envの作成
pyenvでconda envを管理するには、まずベースにしたいanaconda環境下で、 conda create
をする必要がある。
pyenv shell miniconda3-4.3.30
conda create -n ENV_NAME python=3.6 conda
conda create
するときには、必ずインストールするパッケージとしてcondaを指定する必要がある。そうしないと、pyenvでcreateした環境を用いるときにcondaコマンドが利用できなくなる
activate
pyenv shell
なり pyenv local
なりを利用してアクティベートする
pyenv shell miniconda3-4.3.30/envs/ENV_NAME
ベースになったanacondaヴァージョン名とENV_NAMEを指定してactivateすると、あとはcondaコマンドで作った環境にライブラリをインストールしていくことが可能。