【问题标题】:Conda create from requirements.txt not finding packagesConda create from requirements.txt 找不到包
【发布时间】:2022-01-20 04:16:59
【问题描述】:

我尝试了什么

conda create --name ml --file ./requirements.txt

我过去在另一台计算机上创建了带有conda list -e > requirements.txt 的 requirements.txt 文件。 要求.txt: https://github.com/penguinsAreFunny/bugFinder-machineLearning/blob/master/requirements.txt

错误

PackagesNotFoundError:当前频道无法提供以下软件包:

  • protobuf==3.19.1=pypi_0
  • tensorboard-data-server==0.6.1=pypi_0
  • pygments==2.10.0=pypi_0
  • scikit-learn==1.0.1=pypi_0
  • tensorflow-estimator==2.4.0=pypi_0
  • flake8==4.0.1=pypi_0
  • 嵌套异步==1.5.1=pypi_0 [...]

当前频道:

问题

为什么 conda 在频道中找不到包? 我认为丢失的包应该在 conda-forge 中,不是吗?

使用过的版本

conda 4.11.0

【问题讨论】:

    标签: anaconda package conda environment channel


    【解决方案1】:

    这些包可能按照建议在 Conda Forge 中,但构建字符串“pypi_0”表明它们是在以前的环境中从 PyPI 安装的。 conda list -e 命令捕获此信息,但 conda create 命令无法处理它。

    最快的修复方法可能是编辑文件以删除这些包上的构建字符串规范。也就是说,类似于:

    ## remove all PyPI references
    sed -e 's/=pypi_0//' requirements.txt > reqs.nopip.txt
    
    ## try creating only from Conda packages
    conda create -n m1 --file reqs.nopip.txt
    

    导出 YAML

    或者,序列化为 YAML 可以处理捕获和重新安装 Pip 安装的包。因此,如果您仍然使用旧环境,请考虑使用:

    conda env export > environment.yaml
    

    可以在同一平台上重新创建

    conda env create -n m1 -f environment.yaml
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 2017-10-16
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多