仮想環境を管理するために、 pyenv+virtualenvとAnacondaの両方をシステムにインストールしています。
私の .zshrc ファイルは次のようになります。
# Load pyenv automatically:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
# added by Anaconda3 4.2.0 installer
export PATH="$HOME/anaconda3/bin:$PATH"
pyenv
特定のフォルダーで、ローカル仮想環境をセットアップしました
$ pyenv local test-env
pyenv
そのフォルダー内の virtual-env を一覧表示すると、次のようになります。
$ pyenv versions
system
2.7.12
2.7.12/envs/test-env
* test-env (set by /home/<path>/.python-version)
pyenv
しかし、Python v2.7.12 でセッションを開く代わりに python をロードすると (仮想環境がロードされているため、予想どおり)、次のようになります。
$ python
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul 2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
明らかに、Anaconda プラットフォームは私のpyenv
仮想環境の間に入り込んでいます。conda
環境を一覧表示すると、次のようになります。
$ conda-env list
# conda environments:
#
root * /home/<user>/anaconda3
export PATH="$HOME/anaconda3/bin:$PATH"
行をコメントアウトすると、pyenv
期待どおりに機能します。
互いに競合することなく、これらの両方のマネージャーを維持する方法はありますか?