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

标签 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=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 freeze 以获取包并将其写入 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 install -r req.txt 时,它会破坏几个包。

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

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

最佳答案

错误可能是由于无法使用 pip 安装 mkl-service
它可以使用 conda 安装:https://anaconda.org/anaconda/mkl-service

您可以在 Docker 中获取 Anaconda 或 Miniconda 镜像。要获得完全可用的 Miniconda 镜像:

docker search continuumio

拉取所需的图像:
docker pull continuumio/miniconda

使用图像创建容器:
docker run -t -i continuumio/miniconda /bin/bash

这使您可以直接访问 conda 工具已经可用的容器。

测试容器:
conda info

您现在拥有一个完全可用的 Conda 镜像。现在您可以使用创建您的环境
conda env create -n my_env -f env.yaml

关于python - 将 env.yml 从 Anaconda 转换为 Pip req.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59044951/

相关文章:

python - 在 Python 中使用 rsync 与变量串联时出错

python - 可以知道 python 模块是否已重新加载吗?

python - "a bytes-like object is required"但我使用的是字节

python - 从具有任意数量像素分量的图像中读取数据的有效方法是什么? ( python ,太平船务)

python - Tensorflow 和 Anaconda 的 ModuleNotFoundError (Windows 10)

python - Pandas:将小 DataFrame 合并为大 DataFrame,用小 DataFrame 覆盖

python - 使用 pip 将 Python 包从本地文件系统文件夹安装到 virtualenv

Python 3.7 安装在 openSUSE Leap 42.3 上不起作用

python - 无法运行 jupyter notebook//NotImplementedError

python - Boost.Python TypeError : __init__() should return None not 'NoneType' - but no obvious linker or version problem