Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/03/2025, à 11:17

BrunoL

[Résolu] Perte d'environnement après exécution du script

Bonjour,

Je tente de lancer un environnement python/conda à partir du script :

Home="/home/alain/"                                                   # Répertoires de travail des environnements
source ${Home}/miniconda3/etc/profile.d/conda.sh       #Nécessaire pour constituer l'environnement conda
export CondaBin=${Home}"miniconda3/bin/"
export EnvHome=${Home}"miniconda3_data/"

conda activate Deep
conda info --envs

Désolé pour le conda mais je pense que mon problème vient de ma méconnaissance du bash.
Le 1er paquet de 4 lignes fixes les paramètres nécessaire au fonctionnement de conda (testé par ailleurs c'est OK)
conda activate Deep  :  lance l'environnement conda dans ce cadre
conda info --envs       :  par sa sortie me montre qu'à ce moment là je suis bien dans l'environnement Conda

Mais à la fin du script et retour dans le terminal appelant l'environnement est oublié. Comment conserver l'environnement créé dans le script.

Dernière modification par BrunoL (Le 10/03/2025, à 12:32)

Hors ligne

#2 Le 10/03/2025, à 11:45

Watael

Re : [Résolu] Perte d'environnement après exécution du script

salut,

l'environnement est oublié

comment l'observes-tu ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 10/03/2025, à 11:50

BrunoL

Re : [Résolu] Perte d'environnement après exécution du script

Hello Watael, je relance la dernière commande du script

conda info --envs

qui me l'indique.

Hors ligne

#4 Le 10/03/2025, à 12:24

Tawal

Re : [Résolu] Perte d'environnement après exécution du script

Hello.

Le script est lancé dans un sous shell par rapport au shell du terminal.
Donc quand le script termine, le sous-shell se ferme avec son environnement (variables …).
Tu peux tout simplement "sourcer" ton script.
Cela a pour effet d'exécuter le script directement dans le shell du terminal donc les changements seront conservés à la fin du "source".
Syntaxe :

source /chemin/du/script

Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#5 Le 10/03/2025, à 12:31

BrunoL

Re : [Résolu] Perte d'environnement après exécution du script

Tawal : c'est exactement ça

Je découvre source, je vais aller m'informer.
Merci à tous.

Hors ligne