簡體   English   中英

無法激活掛載的 conda 環境

[英]unable to activate the mounted conda environment

我在linux中掛載了conda環境。 然后我在linux中激活環境。

export PATH=$PATH:/opt/miniconda/bin
source activate /anaconda_env/personal/env1

然后我得到了這個錯誤:

/anaconda_env/miniconda/bin/conda: line 3: import: command not found
/anaconda_env/miniconda/bin/conda: line 6: syntax error near unexpected token `sys.argv'
/anaconda_env/miniconda/bin/conda: line 6: `if len(sys.argv) > 1 and sys.argv[1].startswith('shell.') and sys.path and sys.path[0] == '':'

當我檢查 conda --version 時,會顯示相同的錯誤。

誰能幫我這個?

在 miniconda/bin/conda 里面,腳本如下

#!/anaconda_env/miniconda/bin/python
# -*- coding: utf-8 -*-
import sys
# Before any more imports, leave cwd out of sys.path for internal 'conda shell.*' commands.
# see https://github.com/conda/conda/issues/6549
if len(sys.argv) > 1 and sys.argv[1].startswith('shell.') and sys.path and sys.path[0] == '':
    # The standard first entry in sys.path is an empty string,
    # and os.path.abspath('') expands to os.getcwd().
    del sys.path[0]

if __name__ == '__main__':
    from conda.cli import main
    sys.exit(main())

我不確定發生了什么,您似乎正在使用source運行/anaconda_env/miniconda/bin/conda ,但它不是 shell 程序。

代替:

source activate /anaconda_env/personal/env1

做:

conda activate /anaconda_env/personal/env1

這是應該做的方式,我認為miniconda/bin/activate是遺留的,正確的方法是使用conda activate

@juanpa.arrivillaga 的回答是其中的一部分。 另一部分是在conda中正確定義 conda。

這不應該通過顯式操作 PATH 來完成。 相反,Conda 會生成所有需要運行的東西,其中包括額外的環境變量和 shell 函數。 在這種情況下,我希望人們想要:

## initialize `conda`
eval "$('/opt/miniconda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
## alternative approach


## activate environment
conda activate /anaconda_env/personal/env1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM