Ho un ambiente conda chiamato old_name
, come posso cambiarlo in new_name
senza rompere i riferimenti?
Ho un ambiente conda chiamato old_name
, come posso cambiarlo in new_name
senza rompere i riferimenti?
Risposte:
Non puoi.
Una soluzione alternativa è creare un ambiente clone, quindi rimuovere quello originale:
(ricorda di disattivare l'ambiente corrente con deactivate
su Windows e source deactivate
su macOS / Linux)
conda create --name new_name --clone old_name
conda remove --name old_name --all # or its alias: `conda env remove --name old_name`
Esistono diversi svantaggi di questo metodo:
--offline
flag per disabilitarlo,conda create --name new_name --clone old_name
quindi è possibile rimuovere quello vecchio.
.bashrc
non funzionava più e il tentativo di esecuzione pytest
falliva, cercando di fare riferimento all'ambiente ora rimosso. Ho provato nuove shell e il riavvio senza fortuna. Alla fine è stato necessario spazzare via il nuovo ambiente, quindi iniziare con un'installazione pulita. Più lento, ma sembra funzionare davvero ora.
Sulla base del commento utile di dwanderson , sono stato in grado di farlo in un one-liner di Bash:
conda create --name envpython2 --file <(conda list -n env1 -e )
Il mio env chiamato malamente era "env1" e quello nuovo che desidero clonare da esso è "envpython2".
PackagesNotFoundError: The following packages are not available from current channels
con questo script. Questo script probabilmente funziona solo quando non hai pacchetti installati con pip e che non sono disponibili in conda nell'ambiente esistente?
conda create --name new_name --copy --clone old_name
è meglio
Uso ciò conda create --name new_name --clone old_name
che è senza --copy
ma ho riscontrato rotture di pip ...
il seguente URL può essere d'aiuto installare tensorflow in un ambiente conda clonato interrompe l'ambiente conda da cui è stato clonato