Python 为什么VS代码在fish shell中同时调用源miniconda3/bin/activate和conda activate?

Python 为什么VS代码在fish shell中同时调用源miniconda3/bin/activate和conda activate?,python,visual-studio-code,conda,fish,Python,Visual Studio Code,Conda,Fish,当我在VS代码中使用自动环境激活打开终端时,会发生以下情况: Welcome to fish, the friendly interactive shell luka@Lukas-MBP ~/D/e/p/collatz-conjecture> source /Users/luka/miniconda3/bin/activate

当我在VS代码中使用自动环境激活打开终端时,会发生以下情况:

Welcome to fish, the friendly interactive shell
luka@Lukas-MBP ~/D/e/p/collatz-conjecture> source /Users/luka/miniconda3/bin/activate                                                                                    (base) 
~/miniconda3/bin/activate (line 5): 'return' outside of function definition
\. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
                                            ^
from sourcing file ~/miniconda3/bin/activate
        called on standard input

source: Error while reading file '/Users/luka/miniconda3/bin/activate'
luka@Lukas-MBP ~/D/e/p/collatz-conjecture> conda activate base                                                                                                           (base) 

如何防止VS Code在仍然使用自动环境激活功能的情况下调用这两个命令并仅使用conda activate base

我假设您使用的conda版本早于4.6,我认为不支持fish。更新到4.6或更高版本,并使用
conda init
设置shell配置文件,这应该可以解决问题。

该bug说应该使用
而不是
源代码,这是错误的。Fish提供了一个兼容的
函数,但
源代码是内置的。充其量它也会做同样的事情。所以这不可能。@faho你是对的,这是因为当我们添加对conda的支持时,fish没有得到适当的支持,所以我们使用conda 4.5的“旧”方法来获取conda.sh文件,该文件只适用于bash。我已经更新了我的回复。