Tengo un requirements.txt
como
numpy
y un archivo environment.yml
que contiene
# run via: conda env create --file environment.yml --- name: test dependencies: - python>=3 - pip - pip: - -r file:requirements.txt
cuando ejecuto conda env create --file environment.yml
obtengo
Salida del subproceso Pip:
Error de subproceso de Pip: ERROR: Excepción:
<... rastreo de errores en pip >
AttributeError: el objeto 'FileNotFoundError' no tiene el atributo 'read'
ha fallado
CondaEnvException: Pip falló
También es extraño cómo se llama a pip, como se informó justo antes de que ocurra el error:
['$HOME/.conda/envs/test/bin/python', '-m', 'pip', 'install', '-U', '-r', '$HOME/test/condaenv.8d3003nm.requirements.txt']
(Reemplazo mi ruta de inicio con $HOME
) Tenga en cuenta la extraña expansión de requirements.txt
.
¿Algunas ideas?
Un cambio reciente en el código Pip ha cambiado su comportamiento para que sea más estricto con respecto al file:
sintaxis URI.Como señaló un miembro de PyPA y un desarrollador de Pip, el file:requirements.txt
no es un URI válido de acuerdo con la especificación RFC8089 .
En su lugar, uno debe soltar el file:
esquema por completo:
name: test dependencies: - python>=3 - pip - pip: - -r requirements.txt
o proporcione un URI válido, lo que significa usar una ruta absoluta (o un servidor de archivos local):
name: test dependencies: - python>=3 - pip - pip: - -r file:/full/path/to/requirements.txt # - -r file:///full/path/to/requirements.txt # alternate syntax