¿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.yml
contiene esta línea prefix: /home/superdev/miniconda3/envs/juicyenv
que se asigna a la ubicación de mi anaconda, que será diferente en las PC de otros.
conda env create -f environment.yml
Solo 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.yml
archivo a mano, para que pueda dejarlo fuera; consulte stackoverflow.com/questions/39280638/…Respuestas:
No puedo encontrar nada en las
conda
especificaciones 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
grep
antes 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
-p
indicador seguido de la ruta requerida.Tenga en cuenta que Conda recomienda crearlo a
environment.yml
mano, lo cual es especialmente importante si desea compartir su entorno entre plataformas (Windows / Linux / Mac). En este caso, puede simplemente dejar laprefix
lí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 export
incluye 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
conda
entorno. Como la respuesta anterior ya sugirió:Sin embargo, esto
requirements.txt
contiene números de compilación que no son portátiles entre sistemas operativos, por ejemplo, entreMac
yUbuntu
. Enconda env export
tenemos la opción--no-builds
pero 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
sed
El comando funcionó bastante bien. Tuve que eliminar una versión de parche. Asímajor.minor.patch
quemajor.minor
y funcionó. Resulta que el número de parche más bajo había sido eliminado por los repositorios principales.fuente