Python 将env.yml从Anaconda转换为Pip req.txt

Python 将env.yml从Anaconda转换为Pip req.txt,python,pip,anaconda,conda,Python,Pip,Anaconda,Conda,我有一个env.yml,它是从Conda导出环境生成的 channels: - pytorch - anaconda - conda-forge - defaults dependencies: - _libgcc_mutex=0.1=main - _tflow_select=2.3.0=mkl - absl-py=0.8.1=py37_0 - astor=0.8.0=py37_0 - av=6.2.0=py37h866369f_1 - blas=1.0=

我有一个env.yml,它是从Conda导出环境生成的

channels:
  - pytorch
  - anaconda
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - _tflow_select=2.3.0=mkl
  - absl-py=0.8.1=py37_0
  - astor=0.8.0=py37_0
  - av=6.2.0=py37h866369f_1
  - blas=1.0=openblas
  - bzip2=1.0.8=h516909a_1
  - c-ares=1.15.0=h7b6447c_1001
  - ca-certificates=2019.10.16=0
  - certifi=2019.9.11=py37_0
  - cffi=1.13.2=py37h2e261b9_0
  - cudatoolkit=10.0.130=0
  - ffmpeg=4.1.3=h167e202_0
  - freetype=2.10.0=he983fc9_1
  - gast=0.2.2=py37_0
  - gmp=6.1.2=hf484d3e_1000
  - gnutls=3.6.5=hd3a4fd2_1002
  - google-pasta=0.1.8=py_0
  - grpcio=1.16.1=py37hf8bcb03_1
  - h5py=2.9.0=py37h7918eee_0
  - hdf5=1.10.4=hb1b8bf9_0
  - intel-openmp=2019.5=281
  - joblib=0.14.0=py_0
  - jpeg=9c=h14c3975_1001
  - keras=2.2.4=0
  - keras-applications=1.0.8=py_0
  - keras-base=2.2.4=py37_0
  - keras-preprocessing=1.1.0=py_1
  - lame=3.100=h14c3975_1001
  - libblas=3.8.0=14_openblas
  - libcblas=3.8.0=14_openblas
  - libedit=3.1.20181209=hc058e9b_0
  - mkl-service=2.3.0=py37he904b0f_0
然后我将执行pip冻结以获取包,并将其写入req.txt

absl-py==0.8.1
astor==0.8.0
av==6.2.0
certifi==2019.9.11
cffi==1.13.2
gast==0.2.2
google-pasta==0.1.8
grpcio==1.16.1
h5py==2.9.0
joblib==0.14.0
Keras==2.2.4
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0
Markdown==3.1.1
mkl-service==2.3.0
six==1.13.0
tensorboard==1.15.0
tensorflow==1.15.0
tensorflow-estimator==1.15.1
termcolor==1.1.0
torch==1.3.1
torchvision==0.4.2
webencodings==0.5.1
Werkzeug==0.16.0
wrapt==1.11.2
当我使用pip安装-r req.txt时,它对一些软件包来说是坏的

实现这一目标的最佳方式是什么


tl;dr:将Conda环境转换为Pip环境

错误可能是由于无法使用Pip安装mkl服务 可以使用conda进行安装:

您可以在Docker中获取蟒蛇或迷你蟒蛇图像。要获得完全工作的微秒图像,请执行以下操作:

docker search continuumio
拉取所需的图像:

docker pull continuumio/miniconda
使用图像创建容器:

docker run -t -i continuumio/miniconda /bin/bash
这使您可以直接访问conda工具已经可用的容器

测试容器:

conda info
您现在有一个完全工作的康达图像。现在,您可以使用

conda env create -n my_env -f env.yaml

如果大小有问题,您可以使用该映像。

您无法安装-它不在PyPI。因此,最好的方法是使用
pip
将可以安装和不能安装的内容分开。如果您使用
conda
安装所有组件,我将使用没有conda的docker。如何导出环境?如何安装
mkl服务
,如果没有
conda
,该服务将不可用?是的,使用
conda
。使用pip over conda不会节省任何重要空间。你可以用miniconda代替Anaconda,通过运行
conda clean-a
删除下载和解压文件夹来减少空间。conda让我的docker变得非常大。这就是我不想用康达的原因。我想用pip。目前我正在使用康达。如何迁移到Pip