32
votes

CondaValueError: le préfixe cible est le préfixe de base. Abandon

J'ai le fichier d' environment.yml conda suivant environment.yml :

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

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

Avant de créer l'environnement, seul l'environnement de base existe:

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

Lorsque j'essaye de créer l'environnement, j'obtiens l'erreur suivante:

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

Que signifie cette erreur?


0 commentaires

4 Réponses :


58
votes

Vous devez utiliser

conda env create -f environment.yml

Notez le supplément env après conda et avant de create .

Pour plus d'informations, consultez la documentation .


4 commentaires

Vous pouvez également obtenir cette erreur si vous inversez accidentellement les arguments: conda create env -f environment.yml . La correction reste la même.


Est-ce seulement moi ou la syntaxe de conda est souvent déroutante.


Il y a certainement quelques commandes qui sont assez déroutantes, en particulier autour de la création d'environnement :-)


Pour moi, l'erreur n'utilisait pas l'indicateur -n avec le conda create myenv



4
votes

Vous pouvez utiliser:

conda create --name nameOfEnv


1 commentaires

Cela n'aide pas car l'OP demande env create en utilisant un environnement.yml



7
votes

Très délicat, voyez la différence entre les deux:

conda create --name my_env 

et

conda create –-name my_env 

Le premier tiret avant le name est légèrement différent ( – au lieu de - ). Il me faut 15 minutes pour le remarquer.


2 commentaires

@jack serait plus utile si vous ajoutiez la différence.


@suvy Le premier tiret "-" est faux, devrait être "-". J'ai eu cette erreur parce que j'ai copié à partir de mon ordinateur portable qui a la fonction de formatage automatique et le tableau de bord y a été en quelque sorte converti.



1
votes

J'ai eu le même problème même avec la syntaxe de commande correcte, juste après l'installation d'anaconda. La solution était de ne pas activer l'environnement de base au démarrage:

conda config --set auto_activate_base false

Puis redémarrez votre terminal. Après cela, j'ai pu créer mon premier environnement conda.


0 commentaires