You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在conda的environment.yml中实现带--no-deps的pip安装?

解决environment.yml中安装Vissl时跳过依赖的问题

问题原因

你之前的写法报错是因为--no-deps是pip的命令行参数,不属于pip的需求语法范畴,直接把它放在pip依赖条目里会被当成无效的依赖项解析,从而触发错误。

可行解决方案

方案1:使用run命令单独执行带参数的pip安装

在environment.yml中添加run节点,让环境在所有基础依赖安装完成后,单独执行Vissl的安装命令。这种方式既能指定--no-deps跳过它的依赖检查,又不会影响其他pip项的正常依赖安装:

name: your-env-name
channels:
  - defaults
dependencies:
  # 你的conda依赖项(示例)
  - python=3.9
  - pip
  - pip:
    # 你的其他pip依赖项,正常保留,它们会按默认逻辑安装依赖
    - numpy>=1.21
    - pandas>=1.3
  # 环境创建完成后执行Vissl的安装命令
  - pip install -e git+https://github.com/facebookresearch/vissl.git --no-deps

该方案的优势:

  • 完全隔离Vissl的安装参数,不干扰其他pip依赖的依赖解析流程
  • 确保Vissl安装时,环境中已有的目标依赖已经准备完毕

方案2:临时修改Vissl的setup.py(可选)

如果不想用run命令,可以克隆Vissl仓库后临时修改其依赖声明,再通过environment.yml指向本地编辑版:

  1. 克隆仓库:git clone https://github.com/facebookresearch/vissl.git
  2. 编辑仓库内的setup.py,删除或注释掉install_requires下的所有依赖项
  3. 在environment.yml的pip部分添加本地路径的可编辑安装:
- pip:
    - -e /path/to/your/local/vissl

该方案适合需要频繁修改Vissl代码的场景,但需要维护本地仓库副本,灵活性不如方案1。

内容的提问来源于stack exchange,提问作者Wouter Zwerink

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:25:21