2017-07-14 106 views
1

我發現當我創建Conda環境source activate environment,然後取消激活該環境source deactivate environment時,我的本機bash命令不再有效。Conda激活/停用環境中斷PATH

我在啓用環境之前附加了ls的圖像,之後沒有。我認爲這是因爲我的PATH - 但我是一個新手,我不確定具體要修復什麼。我在Windows上的Git Bash中執行此操作。 Anaconda 3和Python 3.5。

Please work ls, come on

回答

0

最大的可能是你的暢達環境替換本地的bash配置文件定義的參數和環境變量。我相信,如果你打開一個新的環境(bash會話),你會發現一切工作正常。

我建議你在停用環境之後添加一條命令來重新加載bash配置文件,以便再次應用配置文件變量值。它應該解決問題。

+0

明白了 - 只是標記爲已回答。我沒有意識到我可以將該行添加到我的個人資料中。如果將來人們回到本頁面,是否可以添加一個小行/腳本?謝謝! –

0

我在Windows 10中使用Git Bash,也遇到了同樣的問題。以前的答案對我來說不起作用,可能是因爲我沒有在〜/ .bash_profile和〜/ .bashrc中設置任何路徑。

我檢查了一個全新的git bash的我的PATH變量,它看起來像:

. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3. activate snowflakes

/c/Users/chen_x/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/chen_x/bin....(more)

後,路徑變爲:

/C/Users/chen_x/Miniconda3/envs/snowflakes:(blalbla..):C:\Users\chen_x\Miniconda3\Library\bin;C:\Users\chen_x\Miniconda3;....(more)

我認爲混帳的bash不承認如C:\program files...,然後在最後一個EXPORT PATH=命令(約78行)後面添加以下行C:/Users/chen_x/Miniconda3/Scripts/activate

export PATH="$($_CONDA_PYTHON -c "import re; p=re.sub(r'\\\', r'/', r'$PATH'); p=re.sub('(;|:)([A-Z]):', lambda m: ':/'+m.group(2).lower(), p); print(p)")" 

它的工作原理。

順便說一句,我創建了一個〜/ condaenv腳本啓動暢達環境:

#!/bin/bash 
. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3 

這將是convinent到:

. ~/condaenv 
. activate snowflakes 
0

中有激活一些錯誤/關閉腳本,我已經修復了我調用activate.cygwin和deactivate.cygwin的版本。

  • activate.cygwin:修復conda命令返回一個字符串並在處理結束時返回「\ r」的地方。

  • deactivate.cygwin:修復/ cygdrive/...的轉換,以避免錯誤 CondaValueError:找不到環境:/ cygdrivec:\ Users \用戶RJP \ Anaconda2 \ ENVS ...

我已將修改的腳本發佈到https://bitbucket.org/snippets/plevin/。請參閱activate.cygwin頂部的說明。