La respuesta de Pbms aquí es la forma correcta de hacerlo, asumiendo que tiene un entorno existente para copiar. Conda es totalmente capaz de instalar tanto los paquetes Conda como los paquetes pip, como se indica en environment.yml. Quería documentar todo el proceso con más detalle. Tenga en cuenta que estoy usando entornos basados en carpetas, por lo que agregué --prefix [path to environment folder]a la mayoría de los comandos.
Supongamos que instaló un entorno para un proyecto existente en una carpeta llamada enven la carpeta actual, como esta:
conda create --prefix ./env
Generarías environment.ymlpara el entorno de ese proyecto de esta manera:
conda env export --prefix ./env > environment.yml
Crearía un nuevo entorno dentro de otra carpeta copiando environment.ymlallí y luego ejecutando esto desde allí:
conda env create --prefix ./env --file environment.yml
Obtendría un entorno ya existente para que coincida environment.ymlcopiando una vez más environment.ymlallí y luego ejecutando esto desde allí:
conda env update --prefix ./env --file environment.yml --prune
Con el entorno en cuestión activo, verificaría el estado de sus paquetes de esta manera:
conda list
Esta es una versión abreviada de lo que podría imprimir ese comando (tenga en cuenta que los paquetes pip están marcados pypi):
pip 19.2.2 py37_0
python 3.7.4 h5263a28_0
numpy 1.16.4 py37h19fb1c0_0
pandas 0.25.1 py37ha925a31_0
pyodbc 4.0.27 py37ha925a31_0
ibm-db 3.0.1 pypi_0 pypi
ibm-db-sa 0.3.5 pypi_0 pypi
Finalmente, esta es una versión abreviada de lo que environment.ymlpodría parecer (tenga en cuenta que los paquetes pip se enumeran en su propia categoría):
dependencies:
- pip=19.2.2=py37_0
- python=3.7.4=h5263a28_0
- numpy=1.16.4=py37h19fb1c0_0
- pandas=0.25.1=py37ha925a31_0
- pyodbc=4.0.27=py37ha925a31_0
- pip:
- ibm-db==3.0.1
- ibm-db-sa==0.3.5
Tenga en cuenta que usar Conda y pip juntos puede causar algo de acidez estomacal porque, sin saberlo, pueden acabar con las dependencias del otro. Se supone que debes instalar primero todos tus paquetes Conda y luego todos tus paquetes pip, en lugar de alternar entre los dos. Si su entorno se rompe, la recomendación oficial es eliminarlo y volver a crearlo (desde su environment.ymlarchivo). Para obtener más detalles, consulte esta guía:
https://www.anaconda.com/using-pip-in-a-conda-environment/