¿Cómo puedo crear un archivo de entorno anaconda que pueda usarse en otras computadoras?
Exporté mi entorno anaconda python a YML usando conda env export > environment.yml. El exportado environment.ymlcontiene esta línea prefix: /home/superdev/miniconda3/envs/juicyenvque se asigna a la ubicación de mi anaconda, que será diferente en las PC de otros.

conda env create -f environment.ymlSolo como un aparte, en mi experiencia, esto no funcionará en todas las plataformas, porque conda env enumerará muchas dependencias como `vs2015_runtime` si está en Windows. Pero, por supuesto, eso no está disponible en Linux.environment.ymlarchivo a mano, para que pueda dejarlo fuera; consulte stackoverflow.com/questions/39280638/…Respuestas:
No puedo encontrar nada en las
condaespecificaciones que le permitan exportar un archivo de entorno sin laprefix: ...línea. Sin embargo, como Alex señaló en los comentarios, a conda no parece importarle la línea de prefijo al crear un entorno a partir de un archivo.Con eso en mente, si desea que el otro usuario no conozca su ruta de instalación predeterminada, puede eliminar la línea de prefijo
grepantes de escribirenvironment.yml.De cualquier manera, el otro usuario ejecuta:
y el entorno se instalará en su ruta de entorno conda predeterminada.
Si desea especificar una ruta de instalación diferente a la predeterminada para su sistema (no relacionada con el 'prefijo' en environment.yml), simplemente use el
-pindicador seguido de la ruta requerida.Tenga en cuenta que Conda recomienda crearlo a
environment.ymlmano, lo cual es especialmente importante si desea compartir su entorno entre plataformas (Windows / Linux / Mac). En este caso, puede simplemente dejar laprefixlínea.fuente
La forma más fácil de guardar los paquetes de un entorno para instalarlos en otra computadora es:
entonces puedes instalar el entorno usando
si lo usa
pip, use los siguientes comandos: referencia https://pip.pypa.io/en/stable/reference/pip_freeze/fuente
Linux
Ventanas
Justificación: Por defecto,
conda env exportincluye la información de compilación:En su lugar, puede exportar su entorno sin información de compilación:
Lo que desata el entorno de la versión de Python y el sistema operativo.
fuente
Me parece que exportar los paquetes en formato de cadena solo es más portátil que exportar todo el
condaentorno. Como la respuesta anterior ya sugirió:Sin embargo, esto
requirements.txtcontiene números de compilación que no son portátiles entre sistemas operativos, por ejemplo, entreMacyUbuntu. Enconda env exporttenemos la opción--no-buildspero no conconda list -e, por lo que podemos eliminar el número de compilación emitiendo el siguiente comando:Y recrear el entorno en otra computadora:
fuente
sedEl comando funcionó bastante bien. Tuve que eliminar una versión de parche. Asímajor.minor.patchquemajor.minory funcionó. Resulta que el número de parche más bajo había sido eliminado por los repositorios principales.fuente