特殊格式requirements.txt的生成工具及Python环境搭建方法咨询
问题解答
1. 该文件的生成工具
- 这个文件本质是conda环境导出的YAML格式配置文件,只是作者将其命名为了requirements.txt,常规该类文件的后缀应为
.yml或.yaml。 - 生成命令为
conda env export,该命令会把当前conda环境下的所有依赖(包括conda安装的系统级依赖、二进制包和pip安装的包)全部导出。 - 从文件内的
_libgcc_mutex、ld_impl_linux-64等专属依赖可以判断,作者是在Linux系统下导出的该配置。
2. Windows下使用该文件创建环境的方案
你此前的命令无法生效有两个核心原因:一是该文件是conda环境的YAML配置,不是普通的pip requirements.txt格式,也不符合
conda install --file的读取格式;二是文件内包含大量Linux平台专属的系统依赖,没有Windows对应版本,直接执行必然报错。
步骤1:调整文件格式与内容
- 先将文件重命名为
environment.yaml。 - 打开文件删除/修改以下内容:
- 开头的注释行
""" This file contains a list of packages and their versions that were used to produce the results. """ - 所有Linux专属的系统依赖,比如
_libgcc_mutex、ld_impl_linux-64、libgcc-ng、libgfortran-ng等带linux、libgcc前缀的包 - 每个包版本号后面的build标识,比如把
blas=1.0=mkl修改为blas=1.0,pytorch=1.4.0=py3.7_cuda10.0.130_cudnn7.6.3_0修改为pytorch=1.4.0,仅保留包名和版本号即可 - 如果你的Windows设备CUDA版本与文件内的10.0不匹配,对应调整
pytorch、torchvision、cudatoolkit的版本,匹配你本地的CUDA版本,也可以直接删除cudatoolkit项安装CPU版本的PyTorch - 注意
faiss-gpu没有官方Windows版本,可替换为faiss-cpu,或者自行查找第三方源的Windows版faiss-gpu
- 开头的注释行
步骤2:执行环境创建命令
修改完成后打开Anaconda Prompt,执行以下命令创建环境:
conda env create -f environment.yaml -n 自定义环境名称
可选的替代方案
如果修改配置文件仍然报错,也可以手动提取文件内的核心第三方依赖,直接手动安装:
- 先新建一个空的conda环境:
conda create -n 自定义环境名 python=3.7 - 激活环境后,参考原文件的版本,手动安装核心包,比如:
其余依赖conda和pip会自动匹配兼容版本安装。conda install pytorch=1.4.0 torchvision=0.5.0 cudatoolkit=10.0 -c pytorch conda install scikit-learn=0.22.1 scipy=1.4.1 opencv=3.4.2 matplotlib=3.1.3 pip install spacy==2.2.4 tqdm==4.45.0
内容的提问来源于stack exchange,提问作者devdog
相关产品推荐
相关产品推荐

