【问题标题】:Not able to install dependencies mentioned in requirements.txt in my conda environment无法在我的 conda 环境中安装 requirements.txt 中提到的依赖项
【发布时间】:2021-12-09 03:43:56
【问题描述】:

我无法通过 pip install 安装 requirements.txt (https://github.com/liuzhen03/ADNet) 中提到的依赖项。它被安装在某个引发内存错误的不同路径中:

错误:由于 OSError 无法安装软件包:
[Errno 28] 设备上没有剩余空间

我只想在我的 Conda 环境中安装它。我试过了

conda install --file requirement.txt

但仍然收到与下面屏幕截图中相同的错误。

谁能帮我解决这个问题?

【问题讨论】:

  • 请发布您使用的确切命令并将完整的错误消息复制粘贴到您的问题中。从pip 错误消息看来,您的磁盘已满。空间不够了吗?

标签: python conda


【解决方案1】:

Conda 和 PyPI 包不一定使用相同的包名,因此不能简单地向 Conda 提供一个 pip freeze 文件并将其视为来自 conda list --export。但是,Conda 环境完全支持 Pip,因此可以采用两种方法。

选项 1:仅 PyPI 包

可以使用 Conda 的 YAML 环境规范定义环境和 Python 版本,并让 Pip 安装其余部分。

adnet.yaml

name: adnet
channels:
  - conda-forge
dependencies:
  # core 
  - python=3.7
  - pip
  
  # PyPI packages
  - pip:
    - -r https://github.com/liuzhen03/ADNet/raw/main/requirement.txt

Python 3.7 的规范是因为需求文件中指定的scikit-image==0.16.2 是从 2019 年开始的,所以这似乎是适合使用的 Python。

选项 2:首选 Conda 包

另一种选择是做一些工作,看看哪些软件包可以通过 Conda 获得,然后首先从那里获取。这样做的好处是所有的 Conda 包都是预编译的,你可以添加一些东西,比如指定 BLAS 实现或 CUDA 版本。

基本上,Conda 上唯一没有的是 thop,而 Conda 抱怨的另外两个包 torchopencv-python 在 Conda 存储库中分别命名为 pytorchpy-opencv .因此,基本的 YAML 翻译如下所示:

adnet.yaml

name: so-adnet-conda
channels:
  - pytorch
  - conda-forge
dependencies:
  # core
  - python=3.7
  - pip
  # specify blas or cuda versions here

  # Conda packages
  - imageio=2.9.0
  - matplotlib=3.3.3
  - scikit-image=0.16.2
  - easydict=1.9
  - pytorch=1.2.0
  - torchvision=0.4.0
  - pillow
  - py-opencv >=4.0,<5.0
  - tensorboardX=2.1
  - tensorboard
  - future
  - lmdb
  - pyarrow

  # PyPI packages
  - pip:
    - thop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 2021-04-04
    • 1970-01-01
    • 2017-11-17
    • 2019-08-23
    • 2018-10-27
    • 2018-07-04
    相关资源
    最近更新 更多