Conda: instalación silenciosa/no interactiva de un paquete

3 minutos de lectura

avatar de usuario de activelearner
aprendiz activo

Estoy tratando de automatizar el proceso de configuración de un entorno de desarrollo con el paquete pandas usando conda.

Instalé conda, creé y activé un entorno de desarrollo. Cuando traté de instalar un paquete de la siguiente manera, noté que había un mensaje en el que el usuario tenía que ingresar S o N (Continuar ([y]/n)?) para que la instalación se realice correctamente.

$ conda install pandas
Fetching package metadata: ....
Solving package specifications: ..................
Package plan for installation in environment /home/miniconda2/envs/pandas_env:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libgfortran-1.0            |                0         170 KB
    openblas-0.2.14            |                3         3.5 MB
    numpy-1.10.2               |           py27_0         5.9 MB
    pytz-2015.7                |           py27_0         174 KB
    six-1.10.0                 |           py27_0          16 KB
    python-dateutil-2.4.2      |           py27_0         219 KB
    pandas-0.17.1              |      np110py27_0        12.4 MB
    ------------------------------------------------------------
                                           Total:        22.3 MB

The following NEW packages will be INSTALLED:

    libgfortran:     1.0-0             
    numpy:           1.10.2-py27_0     
    openblas:        0.2.14-3          
    pandas:          0.17.1-np110py27_0
    python-dateutil: 2.4.2-py27_0      
    pytz:            2015.7-py27_0     
    six:             1.10.0-py27_0     

Proceed ([y]/n)? y

Fetching packages ...
libgfortran-1. 100% |###################################################################################################################################################################| Time: 0:00:00 457.23 kB/s
openblas-0.2.1 100% |###################################################################################################################################################################| Time: 0:00:02   1.68 MB/s
numpy-1.10.2-p 100% |###################################################################################################################################################################| Time: 0:00:02   2.42 MB/s
pytz-2015.7-py 100% |###################################################################################################################################################################| Time: 0:00:00 388.35 kB/s
six-1.10.0-py2 100% |###################################################################################################################################################################| Time: 0:00:00 224.69 kB/s
python-dateuti 100% |###################################################################################################################################################################| Time: 0:00:00 493.15 kB/s
pandas-0.17.1- 100% |###################################################################################################################################################################| Time: 0:00:04   3.24 MB/s
Extracting packages ...
[      COMPLETE      ]|######################################################################################################################################################################################| 100%
Linking packages ...
[      COMPLETE      ]|######################################################################################################################################################################################| 100%

¿Cómo puedo anular estas indicaciones para que la instalación se realice de forma silenciosa/no interactiva?

Intenté usar el -f flag, pero no parece existir con el comando conda install.

avatar de usuario de activelearner
aprendiz activo

Usado $conda install -y pandas y se instaló sin ningún aviso (ver documentación).

  • puedes tirar -q y omita toda la basura a stdout también

    – matexx

    7 de enero de 2016 a las 4:15

  • El enlace de arriba ya no funciona. Aquí está el enlace directo a la documentación oficial de conda que contiene el indicador -y / —yes: docs.conda.io/projects/conda/en/latest/commands/…

    – Frijol ágil

    4 de julio de 2019 a las 7:29

Avatar de usuario de Simba
Simba

Un solo uso

-y, --yes opción.

# e.g. No.1
conda create -n myenv python=3.6 -y

# e.g. No.2
# install into a specific environment
conda install -n myenv requests -y
# install into the "base" env
conda install flake8 --yes

Uso de guiones

Advertencia. Este método confirma cualquier tipo de indicación.

export CONDA_ALWAYS_YES="true"

# confirm all following "conda" commands
conda create -n myenv
conda install -n myenv requests
# ...

# Disable yes to all
unset CONDA_ALWAYS_YES 

Es posible que deba verificar Cómo activar conda env a través de un script de shell.


Uso específico del entorno

Advertencia. Este método confirma cualquier tipo de indicación.

Habilite “sí” a cualquier aviso dentro entorno activo actual.

# enable yes to all in current env
conda config --env --set always_yes true

# disable it in current env
conda config --env --remove-key always_yes

  • Travieso… Me gusta.

    – Mesas Little Bobby

    31 de enero a las 17:50

avatar de usuario de cloudscomputes
computaciones en las nubes

Sugiero no pasar el proceso de confirmación.

porque siempre tiene información importante sobre esta instalación (qué paquete se actualizará y qué paquete de dependencia se instalará y qué paquete se degradará)

Una vez corrompí mi entorno debido a que no me di cuenta de la actualización de parte del paquete y me tomó mucho tiempo darme cuenta de que algún paquete debe permanecer en una versión anterior para que otro paquete funcione correctamente. Y esos detalles de confirmación siempre lo mantendrán informado y decirle dónde depurar una vez que corrompa el entorno de su paquete después de la instalación

De todos modos, aquí está la solución. Solo usa -y bandera :

conda install -y PACKAGE_NAME

  • Solo trato de ayudar a las personas con lo que veo y encuentro, mientras que siempre puedes optar por no aceptar la sugerencia.

    – Computación en la nube

    29 de mayo de 2019 a las 7:18

¿Ha sido útil esta solución?