web-dev-qa-db-fra.com

comment spécifier un nouvel emplacement d'environnement pour conda create

l'emplacement par défaut des packages est le dossier .conda dans mon répertoire personnel. Cependant, sur le serveur que j'utilise, il y a une limite très stricte quant à la quantité d'espace que je peux utiliser, ce qui m'empêche fondamentalement de rien mettre dans mon répertoire personnel. Comment puis-je spécifier l'emplacement de l'environnement virtuel que je veux créer? Merci! le serveur est sous Ubuntu. 

35
linX

Utilisez l'option --prefix ou -p pour spécifier où écrire les fichiers d'environnement. Par exemple:

conda create --prefix /tmp/test-env python=2.7

Créera l'environnement nommé /tmp/test-env qui réside dans /tmp/ au lieu du .conda par défaut.

58
Paul

comme dit Paul, utilisez

conda create --prefix=/users/.../yourEnvName python=x.x

si vous vous trouvez dans le dossier dans lequel vous voulez créer votre environnement virtuel, omettez simplement le chemin et utilisez

conda create --prefix=yourEnvName python=x.x

conda ne garde que la trace des environnements inclus dans le dossier envs du dossier anaconda. La prochaine fois que vous devrez activer votre nouvel env, déplacez-vous dans le dossier où vous l'avez créé et activez-le avec

source activate yourEnvName
26
Darth_Tato

Vous pouvez le créer comme ça

conda create --prefix C:/tensorflow2 python=3.7

et vous n'avez pas à vous déplacer dans ce dossier pour l'activer.

# To activate this environment, use:
# > activate C:\tensorflow2

Comme vous le voyez, je le fais comme ça.

D:\Development_Avector\PycharmProjects\TensorFlow>activate C:\tensorflow2

(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>

(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>conda --version
conda 4.5.13
3

Bien que l’option --prefix fonctionne, vous devez l’utiliser explicitement chaque fois que vous créez un environnement. Si vous souhaitez simplement que vos environnements soient stockés ailleurs par défaut, vous pouvez le configurer dans votre fichier .condarc.

Veuillez consulter: https://conda.io/docs/user-guide/configuration/use-condarc.html#specify-environment-directories-envs-dirs

1
Christopher Barber

Si vous souhaitez utiliser les arguments --prefix ou -p, mais souhaitez éviter de devoir utiliser le chemin complet de l'environnement pour l'activer, vous devez éditer le fichier .condarc config avant vous créez l'environnement.

Le fichier .condarc se trouve dans le répertoire de base; C:\Users\<user> sous Windows. Editez les valeurs sous la touche envs_dirs pour inclure le chemin personnalisé pour votre environnement. En supposant que le chemin personnalisé soit D:\envs, le fichier devrait ressembler à ceci:

ssl_verify: true
channels:
  - defaults
envs_dirs:
  - C:\Users\<user>\Anaconda3\envs
  - D:\envs

Ensuite, lorsque vous créez un nouvel environnement sur ce chemin, son nom apparaît avec le chemin lorsque vous exécutez conda env list, et vous devriez pouvoir l'activer en utilisant uniquement le nom, et non le chemin complet.

Capture d'écran en ligne de commande

En résumé, si vous éditez .condarc pour inclure D:\envs, puis exécutez conda env create -p D:\envs\myenv python=x.x, alors activate myenv (ou source activate myenv sur Linux) devrait fonctionner.

J'espère que cela pourra aider!

P.S. Je suis tombé sur cela par essais et erreurs. Je pense que ce qui se passe, c’est que lorsque vous modifiez la touche envs_dirs, Conda met à jour ~\.conda\environments.txt pour inclure les environnements trouvés dans tous les répertoires spécifiés sous envs_dirs, afin de pouvoir y accéder sans utiliser de chemins absolus. .

0
dkearn

J'ai couru dans une situation similaire. J'ai eu accès à un plus grand lecteur de données. Selon votre situation et l'accès que vous avez au serveur, vous pouvez envisager

ln -s /datavol/path/to/your/.conda /home/user/.conda

Ensuite, les commandes conda suivantes mettront les données dans le répertoire lié symboliquement dans datavol

0
Paul