A resposta do Pbms aqui é a maneira certa de fazer isso, supondo que você tenha um ambiente existente para copiar. Conda é totalmente capaz de instalar pacotes Conda e pacotes pip, conforme listado em environment.yml. Eu queria documentar todo o processo com mais detalhes. Observe que estou usando ambientes baseados em pastas, e é por isso que adicionei--prefix [path to environment folder] à maioria dos comandos.
Digamos que você instalou um ambiente para um projeto existente em uma pasta chamada envna pasta atual, assim:
conda create --prefix ./env
Você geraria environment.ymlpara o ambiente desse projeto assim:
conda env export --prefix ./env > environment.yml
Você criaria um novo ambiente dentro de alguma outra pasta, copiando environment.ymlpara lá e executando a partir daí:
conda env create --prefix ./env --file environment.yml
Você obteria um ambiente já existente para corresponder environment.yml, copiando novamente environment.ymlpara lá e executando isto a partir daí:
conda env update --prefix ./env --file environment.yml --prune
Com o ambiente em questão ativo, você verificaria o estado de seus pacotes assim:
conda list
Esta é uma versão resumida do que esse comando pode imprimir (observe que os pacotes pip estão 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 é uma versão resumida do que environment.ymlpode ser (observe que os pacotes pip estão listados em sua própria categoria):
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
Esteja ciente de que usar Conda e pip juntos pode causar alguma azia porque eles podem, sem saber, explodir as dependências um do outro. Você deve instalar todos os seus pacotes Conda primeiro e, em seguida, todos os pacotes pip, em vez de alternar entre os dois. Se o seu ambiente quebrar, a recomendação oficial é excluí-lo e recriá-lo (de seu environment.ymlarquivo). Para obter mais detalhes, consulte este guia:
https://www.anaconda.com/using-pip-in-a-conda-environment/