Linuxでpyenv環境の作成

目標

Linux上でのpython環境を作ります。version管理がしやすいので、pyenvを使用してanacondaを入れます。 具体的に作業したディストリビューションはCentOS7ですが、Unix環境ならだいたい同じかと思います。

手順は

です。

1. pyenvのinstall

https://github.com/pyenv/pyenv|公式ページの内容とほぼ同じです。

1.1 git cloneする

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

1.2 パスの設定をする

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

1.3 shimsを使えるようにするためにpyenv initする

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

1.4 bashの設定を読み込む

$ exec "$SHELL"

おまけ: pyenvのupgrade

たまにはupgradeしましょう。

$ cd $(pyenv root)
$ git pull

2. anacondaのinstall

pyenvを用いてinstallする。.pyenv/versions/以下に入ります。

$ pyenv install --list

で好きなversionを見つけて

$ pyenv install anaconda3-2019.03

でinstallする。

pyenvで環境切り替え

pyenvで複数の環境を入れられますが、切り替えるときは次のようにします。 たくさん入れるとストレージを食うので注意。

$ pyenv global anaconda3-2019.03
or
# 作業directoryのみに反映させたい場合は
$ pyenv local anaconda3-2019.03

3. 仮想環境の作成

いくつかやり方があります。

  • conda createの使用
  • python venvの使用

conda createの使用

condaを用いて仮想環境を作成します。

$ conda create -n test-env python==3.6

仮想環境ができます。activateするときは

$ source activate test-env

注意: conda activateを使うにはconda initをしろとでますがうまく行きませんでした。なぜかはわからない。 $ . ${HOME}/.pyenv/versions/anaconda3-2019.03/etc/profile.d/conda.sh するとできるようです。 こんなことしなくてもconda activateできるようになった。

作った仮想環境を確認する時には

$ conda info -e

でできます。

python venvの使用

このやり方を使用する時には、pythonのversionに注意する必要があるかもしれないです。

$ python -m venv test-env python==3.6

で作成できます。 activateするときは

$ source test-env/bin/activate

です。