You need to enable JavaScript to run this app. Conda Constructor构建RHEL离线conda安装包时jaraco重复文件报错解决问询
优惠活动
大模型
产品
解决方案
定价
更多

Conda Constructor构建RHEL离线conda安装包时jaraco重复文件报错解决问询

Conda Constructor 构建jaraco文件冲突的可行绕行方案

方案1:显式锁定冲突包到无问题版本

  • 冲突根源是jaraco 3.1.0系列版本打包失误,把本该作为包目录标识的空文件jaraco/__init__.py重复打进了三个独立的子包,触发constructor的文件重复硬校验。直接在YAML配置的specs块追加版本锁定条目,强制conda跳过3.1.0版本即可
  • 需添加的锁定配置参考:
- jaraco.functools ==3.0.1
- jaraco.collections ==3.0.0
- jaraco.classes ==3.0.0
  • 上述版本不存在重复打包问题,且完全兼容cherrypy等依赖jaraco的上层组件,和你之前能正常构建的依赖树完全匹配

方案2:调整渠道优先级拉取修复后的包

  • 修改channels配置的顺序,优先从已修正jaraco打包错误的渠道源拉取依赖,避开main频道下的问题版本
  • 调整后的channels配置参考:
channels:
  - 已完成jaraco打包修复的conda渠道源
  - http://repo.anaconda.com/pkgs/main/
  • 修复后的jaraco包与原3.1.0版本API完全一致,不会影响现有组件的运行兼容性

方案3:构建前清理重复文件

  • 三个冲突包里的jaraco/__init__.py是内容完全相同的空标识文件,可在构建流程中插入缓存清理步骤:
    • 等constructor拉完全部依赖包、开始生成安装包之前
    • 遍历三个问题jaraco包的临时缓存目录,只在一个包内保留该空文件,删掉另外两个包里的重复文件
  • 该操作不会破坏包的功能,重复携带空文件本身就是打包失误,删除后不会影响最终安装包的运行效果

方案4:复用历史构建依赖快照

  • 拿出之前能正常构建时的conda依赖快照,把带3.1.0版本的三个jaraco包从本地快照的索引里删掉,构建时指定仅用这个本地快照作为依赖渠道
  • 该方式能1:1复现之前的正常构建环境,不会引入额外的依赖变动

内容的提问来源于stack exchange,提问作者Robert Knight

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.09 19:27:00