Conda versión pip install -r requirements.txt --target ./lib


110

¿Cuál es la versión conda de esto?

pip install -r requirements.txt --target ./lib

Encontré estos comandos:

while read requirement; do conda install --yes $requirement; done < requirements.txt

Pero no dice cómo especificar --target ./lib

Respuestas:


164

Puede ejecutar en conda install --file requirements.txtlugar del bucle, pero no hay un directorio de destino en conda install . conda installinstala una lista de paquetes en un entorno conda especificado.


1
Cuando hago esto en mis requirements.txtversiones específicas de paquetes, obtengoInvalidVersionSpec: Invalid version '3.0.': empty version component
Dr_Zaszuś

No tenemos un directorio de destino para in conda install. Sin embargo, es posible especificar una ubicación para un entorno virtual con el --prefixargumento opcional ( doc ) y las especificaciones del entorno de destino se pueden proporcionar con los argumentos opcionales --nameo --prefix( doc ).
Remi Cuingnet

53

Para crear un entorno nombrado py37con python 3.7, usando el canal conda-forge y una lista de paquetes:

conda create -y --name py37 python=3.7
conda install --force-reinstall -y -q --name py37 -c conda-forge --file requirements.txt
conda activate py37
...
conda deactivate

Banderas explicadas:

  • -y: No pida confirmación.
  • --force-reinstall: Instale el paquete incluso si ya existe.
  • -q: No muestra la barra de progreso.
  • -c: Canal adicional para buscar paquetes. Estas son las URL buscadas en el orden

El ansible-role dockpack.base_miniconda puede administrar entornos de conda y puede usarse para crear una imagen base de docker.

Alternativamente, puede crear un archivo environment.yml en lugar de requirements.txt:

name: py37
channels:
  - conda-forge
dependencies:
  - python=3.7
  - numpy=1.9.*
  - pandas

Utilice este comando para enumerar los entornos que tiene:

conda info --envs

Utilice este comando para eliminar el entorno:

conda env remove -n py37

19
Sería útil explicar las banderas
Ataxias

¿Hay alguna razón por la que después de que el segundo comando anterior, python3 se elimine del entorno y python2 sea el único que quede?
ionox0

conda administra entornos de Python, conda deactivate restablece su shell, conda activa py37 establece su RUTA.
bbaassssiiee

8

Siempre puedes probar esto:

/home/user/anaconda3/bin/pip install -r requirements.txt

Esto simplemente usa el pip instalado en el entorno conda. Si pip no está preinstalado en su entorno, siempre puede ejecutar el siguiente comando

conda install pip

2

Una búsqueda rápida en los documentos oficiales de conda le ayudará a encontrar lo que hace cada bandera.

Hasta aquí:

  • -y: No pida confirmación.
  • -f: Creo que debería serlo --file, por lo que leyó las versiones del paquete del archivo dado.
  • -q: No muestra la barra de progreso.
  • -c: Canal adicional para buscar paquetes. Estas son las URL buscadas en el orden

0

¿Funcionaría esto?

cat requirements.txt | while read x; do conda install "$x" -p ./lib ;done

o

conda install --file requirements.txt -p ./lib
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.