Gab*_*iel 2 python anaconda pyenv
我在我的系统中安装了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"
Run Code Online (Sandbox Code Playgroud)
在给定的文件夹中,我设置了一个本地pyenv虚拟环境
$ pyenv local test-env
Run Code Online (Sandbox Code Playgroud)
列出该pyenv文件夹中的virtual-env会导致:
$ pyenv versions
system
2.7.12
2.7.12/envs/test-env
* test-env (set by /home/<path>/.python-version)
Run Code Online (Sandbox Code Playgroud)
但是当我加载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.
>>>
Run Code Online (Sandbox Code Playgroud)
显然,Anaconda平台正在我的pyenv虚拟环境之间进入.列出conda环境显示:
$ conda-env list
# conda environments:
#
root * /home/<user>/anaconda3
Run Code Online (Sandbox Code Playgroud)
如果我注释掉该export PATH="$HOME/anaconda3/bin:$PATH"行,pyenv按预期工作.
有没有办法维护这两位经理而不会相互冲突?
答案显然隐藏在pyenv指令Basic GitHub Checkout的第3点:
请确保
eval "$(pyenv init -)"放在shell配置文件的末尾,因为它PATH在初始化期间进行操作
所以解决方案是将该行移动到.zshrc文件的末尾,如下所示:
# added by Anaconda3 4.2.0 installer
export PATH="$HOME/anaconda3/bin:$PATH"
# Load pyenv automatically:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |