オンサイトで未確認

ukuku09の活動記録。

【Python環境構築】結局 pyenv と conda ってどうやって使うのが正しいわけ?

久々にPythonを触るに当たって、pyenvcondaをどう使えばいいのかよくわからなかったので調べた。
結論から言うと、やっぱりよくわからなかった。
「pyenvとcondaは(そのままだと)共存できない」みたいな話を聞いたことがあったけど、condaのアップデートで修正されてるっぽい?
pyenvは最初にanacondaに切り替える時だけ使って、あとはcondaを使っていればいいような気がする。

以下、自分用のメモ。

仮想環境を作る

そもそも仮想環境なんて使ったことないな。ウケる。

  • Pythonnのバージョンを指定して、新しい仮想環境を作る
$ conda create -n *env-name* python=*version*
  • 設定ファイルから仮想環境を作る
$ conda env create -f *yaml*

仮想環境のリストを表示

$ conda info -e

conda env listでも可。baseはデフォルトで用意されている環境。activeな環境には*が付いている。

仮想環境に入る・仮想環境から抜ける

$ conda activate *env-name*
$ conda deactivate

実はpyenvからもanacondaで作った環境をpyenv local等で指定できるらしいんだけど、よくわからないからやらない。

仮想環境にパッケージをインストール・アップデート

(*env-name*) $ conda install *pkg*
(*env-name*) $ conda update *pkg*

conda自体のupdateはconda update conda

仮想環境にインストール済みのパッケージを表示

(*env-name*) $ conda list

仮想環境の設定を書き出す

  • activeな仮想環境の設定ファイルを書き出す
$ conda env export > *yaml*

仮想環境を消す

  • 仮想環境を全て消去
$ conda env remove -n *env-name*

conda remove -n *env-name* --allでも可。今いる環境を消すには、一度抜ける必要がある。

  • 特定のパッケージをアンインストール
(*env-name*) $ conda remove *pkg*

(おまけ)Jupyter Notebookに仮想環境のカーネルを追加する

$ ipython kernel install --user --name=*env-name* --display-name=*env-name*

参考