Crear un entorno de conda vacío


86

Puedo crear un nuevo entorno de conda, con un programa biopythoncon esto:

conda create --name snowflakes biopython

¿Qué pasa si no quiero instalar ningún programa? Parece que no puedo hacer eso:

» conda create --name tryout
Error: too few arguments, must supply command line package specs or --file

You can specify one or more default packages to install when creating
an environment.  Doing so allows you to call conda create without
explicitly providing any package names.

To set the provided packages, call conda config like this:

    conda config --add create_default_packages PACKAGE_NAME

2
Por lo general, desea al menos instalar Python. Si ni siquiera desea una versión de Python, puede engañar a Conda creando manualmente un entorno vacío usandomkdir -p </path/to/your/anaconda/distribution>/envs/<env-name>/bin
cel

no tiene sentido para mí. ¿Por qué no podemos crear un env sin paquete?
cammil

1
¿Qué se crea exactamente cuando se crea un "entorno vacío"?
user3731622

@cammil No estoy seguro de si esto ha cambiado en las versiones más nuevas de conda porque cuando creo un nuevo entorno sin especificar nada, instala cero paquetes conda create --n my_env ## crea my_env con 0 paquetes instalados Pero, cuando especifico un python versión, por ejemplo, python = 3.7, luego instala las dependencias básicas. conda create --n my_env2 python = 3.7 fuente activa my_env2 conda list ## lista alrededor de 10 paquetes instalados
Light_B

Respuestas:


213

Puede dar un nombre de paquete de solo "python" para obtener una instalación base vacía.

conda create --name myenv python
conda create --name myenv python=3.4

14
Gracias. No estoy seguro de por qué esto no está al frente y al centro en la página de la lista de paquetes de Anaconda
Joelion

esto es increíblemente útil, ¡muchas gracias! También actualicé mi hoja de chetsheet conda para incluir y enfatizar esto (en caso de que sea útil para otros: github.com/NeuronQ/cookbook/wiki/Python-Conda-cheatsheet )
NeuronQ

2
Estoy en la versión 4.3.23 de conda y "conda create --name myenv" crea un nuevo entorno sin paquetes, ni siquiera python. Utiliza python del entorno raíz de conda.
Varun

Cuando hago esto, conda instala libgcc mutex, setuptools, pip y wheel en el nuevo entorno, así que no es exactamente "mínimo", ¿verdad?
Adrian

@Adrian, eso es lo mínimo posible si realmente quieres hacer algo en ese entorno, como instalar otros paquetes ...
Joelion

34

Si ha creado un create_default_packagesbloque en su .condarcarchivo, la respuesta de @ joelion instalará esos paquetes. Si no los quiere, use la --no-default-packagesbandera. Por ejemplo:

conda create --name myenv python --no-default-packages

3
Cuando intento esto, con python = 2.7, está instalando varios pkgs, como libgcc-ng, certifi, libstdcxx-ng, etc. ¿Cómo evitar la instalación de estos?
Ethan

5

Para crear un entorno que esté absolutamente vacío, sin Python y / o cualquier otro paquete predeterminado, simplemente cree una nueva carpeta en el envsdirectorio de su Anacondainstalación (Anaconda3 en este ejemplo) :.

~\Anaconda3\envs>mkdir empy_env

La primera vez que activa este entorno se crea un directorio llamado Scriptsen Windows, binen Linux, con algunos archivos por lotes. En el momento de esta publicación, esto funciona para Anaconda versión 4.3.30 tanto en Windows como en Linux.

He notado que @cel sugirió lo mismo en el primer comentario bajo la pregunta, ¡pero obviamente no recibió la atención que se merece!


3

Así es como crear un conda_env verdaderamente vacío (ligero) con 0 paquetes:

conda create --name myenv --no-default-packages

tomará unos segundos crear y terminar.


No funciona, ese comando todavía lo precargó con toneladas de paquetes como pylint scipy, etc.
Cardin

@Cardin No, absolutamente no. Este comando no tendrá paquetes instalados. Puedes verificarlo usando conda list verás que no hay paquetes.
Aymen Alsaadi

imgur.com/a/3AiDnyh está bien, creo que técnicamente tienes razón. Pero la intención de OP parece ser sobre paquetes pip, no sobre paquetes conda. Porque al usar la respuesta de joelion (que es la respuesta aceptada), crea un entorno conda con dependencias mínimas de pip.
Cardin

Creo que el contexto de esta pregunta fue sobre cómo crear un env conda vacío. (0 paquetes de conda). ¡Y mi respuesta fue entregar eso!
Aymen Alsaadi

1
Tienes razón, apuntaba a basepython en las variables de entorno PATH, en lugar de a my_envpython, por eso los paquetes pip estaban allí. Supuse erróneamente que hacían clonación de enlaces simbólicos, por lo que no entendí por qué los paquetes de 200 pip eran tan rápidos. ¡Gracias!
Cardin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.