2016-12-03 70 views
0

我的系統中安裝了pyenv+virtualenvAnaconda以管理虛擬環境。pyenv和anaconda問題'export PATH'

我的.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 local test-env 

本地pyenv虛擬環境清單文件夾結果中的pyenv虛擬ENVS給定文件夾:

$ pyenv versions 
system 
2.7.12 
2.7.12/envs/test-env 
* test-env (set by /home/<path>/.python-version) 

但是當我加載pytho n個而不是與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. 
>>> 

如此明顯的蟒蛇平臺是我pyenv虛擬環境之間越來越英寸上市conda環境中顯示:

$ conda-env list 
# conda environments: 
# 
root     * /home/<user>/anaconda3 

如果我註釋掉export PATH="$HOME/anaconda3/bin:$PATH"線,pyenv按預期工作。

有什麼辦法可以保持這兩位經理之間沒有衝突?

回答

3

答案顯然是埋在的pyenv說明Basic GitHub Checkout點3:

請確保eval "$(pyenv init -)"放置朝外殼配置文件的末尾,因爲它的初始化

期間操縱 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 -)"