У меня есть 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
виртуальных окружений в этой папке приводит к следующему:
$ pyenv versions
system
2.7.12
2.7.12/envs/test-env
* test-env (set by /home/<path>/.python-version)
Но когда я загружаю python вместо открытия сеанса с Python v2.7.12 (как и следовало ожидать, поскольку виртуальная среда pyenv
загружена), я получаю:
$ 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
работает должным образом.
Есть ли способ сохранить обоих этих менеджеров, не конфликтуя друг с другом?