ChatGPT解决这个技术问题 Extra ChatGPT

CondaValueError:目标前缀是基本前缀。中止

我有以下 conda 环境文件 environment.yml

name: testproject
channels:
- defaults
dependencies:
- python=3.7
prefix: /opt/projects/testproject

在创建环境之前,只存在基础环境:

(base) me@mymachine:/opt/projects/testproject$ conda env list
# conda environments:
#
base                  *  /opt/anaconda/anaconda3

尝试创建环境时,出现以下错误:

(base) me@mymachine:/opt/projects/testproject$ conda create -f environment.yml

CondaValueError: The target prefix is the base prefix. Aborting.

这个错误是什么意思?


g
gmagno

你需要使用

conda env create -f environment.yml

请注意 conda 之后和 create 之前的额外 env

有关详细信息,请查看 documentation


如果您不小心 reverse 参数:conda create env -f environment.yml,您也会收到此错误。修正保持不变。
是只有我还是 conda 的语法经常令人困惑。
肯定有一些命令非常令人困惑,尤其是在环境创建方面:-)
对我来说,错误是没有使用带有 conda create myenv-n 标志
M
MattSidor

很棘手,看看两者的区别:

conda create –-name my_env 

conda create --name my_env 

name 之前的第一个破折号略有不同( 而不是 -)。我需要 15 分钟才能注意到。


如果您添加差异,@jack 会更有用。
@suvy 第一个破折号“-”是错误的,应该是“-”。我遇到了这个错误,因为我从具有自动格式功能的笔记本中复制了破折号,并且以某种方式在那里转换了破折号。
这可能是环境创建的问题,但似乎与发布的问题无关。
Y
Yjmhe

您可以使用:

conda create --name nameOfEnv

这无济于事,因为 OP 要求使用 environment.yml 创建 env
h
hovercraft

在安装 anaconda 之后,即使使用正确的命令语法,我也遇到了同样的问题。解决方案是使基础环境在启动时不被激活:

conda config --set auto_activate_base false

然后重启你的终端。在那之后,我已经能够创建我的第一个 conda 环境。