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

vineeth kanaparthi
fuente

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.

Doctor
fuente
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
bbaassssiiee
fuente
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
Amrit Das
fuente
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
ReyDarBoja
fuente
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
johndacostaa
fuente