virtualenv - deactivate - create environments conda
Cómo especificar la nueva ubicación del entorno para crear conda (6)
Me encontré con una situación similar. Tuve acceso a una unidad de datos más grande. Dependiendo de su situación y del acceso que tenga al servidor puede considerar
ln -s /datavol/path/to/your/.conda /home/user/.conda
Luego, los siguientes comandos de conda colocarán datos en el directorio con enlace simbólico en datavol
la ubicación predeterminada para los paquetes es la carpeta .conda en mi directorio de inicio. sin embargo, en el servidor que estoy usando, hay un límite muy estricto de cuánto espacio puedo usar, lo que básicamente evita que coloque algo en mi directorio de inicio. ¿Cómo puedo especificar la ubicación del entorno virtual que quiero crear? ¡Gracias! El servidor está ejecutando Ubuntu.
Puedes crearlo así
conda create --prefix C:/tensorflow2 python=3.7
y no tiene que moverse a esa carpeta para activarla.
# To activate this environment, use:
# > activate C:/tensorflow2
Como veis lo hago así.
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
Si bien el uso de la opción
--prefix
funciona, debe usarlo explícitamente cada vez que cree un entorno.
Si solo desea que sus entornos se almacenen en otro lugar de forma predeterminada, puede configurarlo en su archivo
.condarc
.
Consulte: conda.io/docs/user-guide/configuration/…
Si desea utilizar los argumentos
--prefix
o
-p
, pero quiere evitar tener que utilizar la ruta completa del entorno para activarlo, debe editar el archivo de configuración
.condarc
antes de
crear el entorno.
El archivo
.condarc
está en el directorio de inicio;
C:/Users/<user>
en Windows.
Edite los valores bajo la clave
envs_dirs
para incluir la ruta personalizada para su entorno.
Suponiendo que la ruta personalizada es
D:/envs
, el archivo debería verse así:
ssl_verify: true
channels:
- defaults
envs_dirs:
- C:/Users/<user>/Anaconda3/envs
- D:/envs
Luego, cuando cree un nuevo entorno en esa ruta, su nombre aparecerá junto con la ruta cuando ejecute
conda env list
, y debería poder activarlo usando solo el nombre y no la ruta completa.
Captura de pantalla de línea de comando
En resumen, si edita
.condarc
para incluir
D:/envs
, y luego ejecuta
conda env create -p D:/envs/myenv python=xx
, entonces
activate myenv
(o la
source activate myenv
en Linux) debería funcionar.
¡Espero que ayude!
PD: Me topé con esto a través de prueba y error.
Creo que lo que sucede es que cuando editas la clave
envs_dirs
, conda actualiza
~/.conda/environments.txt
para incluir los entornos que se encuentran en todos los directorios especificados en
envs_dirs
, para que se pueda acceder a ellos sin usar rutas absolutas.
Use la opción
--prefix
o
-p
para especificar dónde escribir los archivos de entorno.
Por ejemplo:
conda create --prefix /tmp/test-env python=2.7
Creará el entorno llamado
/tmp/test-env
que reside en
/tmp/
lugar del predeterminado
.conda
.
como dijo Paul, usa
conda create --prefix=/users/.../yourEnvName python=x.x
si se encuentra en la carpeta en la que desea crear su entorno virtual, simplemente omita la ruta y use
conda create --prefix=yourEnvName python=x.x
conda solo realiza un seguimiento de los entornos incluidos en la carpeta env dentro de la carpeta anaconda. La próxima vez que necesite activar su nuevo entorno, vaya a la carpeta donde lo creó y actívelo con
source activate yourEnvName