news 2026/5/9 12:54:51

CANN基础设施OSS信息提取工具常见问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN基础设施OSS信息提取工具常见问题

常见问题 (FAQs)

【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure

本文档收集了 OSS Information Extraction Tool 使用过程中的常见问题、故障排查步骤及解决方案。

目录

  • 故障排查流程
  • 安装与环境问题
  • License相关问题
  • Copyright相关问题
  • 输出相关问题
  • 其他问题

故障排查流程

遇到问题时,建议按以下步骤排查:

1. 启用调试日志 LOG_LEVEL=DEBUG cret -t ... │ ▼ 2. 查看日志输出 - 是否有 ERROR 级别错误? - 是否有 WARN 级别警告? │ ▼ 3. 根据错误类型定位问题 - 安装错误 → 查看[安装与环境问题](#安装与环境问题) - License识别问题 → 查看[License相关问题](#license相关问题) - Copyright提取问题 → 查看[Copyright相关问题](#copyright相关问题) │ ▼ 4. 问题仍未解决? - 查看 [DESIGN.md](https://link.gitcode.com/i/63d1f6cd4be95b9b19523e20d55f8c5b) 了解设计逻辑 - 向项目提交 Issue

安装与环境问题

Q: 工具支持哪些操作系统?

A:

  • 推荐:Ubuntu 22.04,Python 3.10/3.11
  • Windows:可能出现临时目录路径过长导致删除失败的问题

Windows 用户解决方案:

  • 修改系统注册表启用长路径支持
  • 或手动删除临时目录(位于目标文件同目录下,名称类似xxx-extract

Q: 安装时提示 scancode 相关错误怎么办?

A:工具依赖 ScanCode Toolkit,请确保环境满足其运行要求。

排查步骤:

  1. 检查 scancode 是否正确安装:
    scancode --version
  2. 如未安装或报错,请参考 ScanCode 官方文档

Q: 如何安装工具?

A:

cd OSSinfo_extraction pip install -e .

安装完成后会生成cret命令。


License相关问题

Q: 为什么 license 没有被识别?

A:请按以下顺序排查:

检查项要求说明
文件位置根目录或 LICENSES 目录不支持其他目录
文件命名符合规范如 LICENSE, LICENSE.MIT, COPYING
文件格式文本格式不支持二进制文件
文件内容完整许可证文本片段声明可能被过滤

调试方法:

LOG_LEVEL=DEBUG cret -t package.zip -n "Software" -v "1.0.0"

Q: 为什么 LGPL-3.0 许可证识别失败?

A:ScanCode Toolkit 不支持LGPL-3.0-onlyLGPL-3.0-or-later,只支持LGPL-3.0

解决方案:

cret -t package.zip -n "Software" -v "1.0.0" -l "LGPL-3.0"

Q: 使用-l参数时提示许可证未找到?

A:

  1. 确认使用 SPDX 标识符:必须使用标准短名称,如MITApache-2.0GPL-3.0-only
  2. 查看 ScanCode 支持的许可证列表
    scancode --list-licenses
  3. 使用-l-p同时指定:跳过自动检测

Q: 指定了 license 名称和路径,但提示"请人工核对"?

A:这表示工具检测到名称与文件内容可能不匹配。请检查:

  • 指定的 license 名称是否正确
  • 指定的文件路径是否正确
  • 文件内容是否确实包含该许可证

Q: 如何处理工具不支持的许可证?

A:使用-l-p参数同时指定,跳过自动检测:

cret -t package.zip -n "Software" -v "1.0.0" -l "Custom-License" -p "LICENSE"

Q: 项目有多个 LICENSE 文件,工具如何处理?

A:工具会按优先级处理:

  1. 识别根目录下的所有 license 文件
  2. 识别 LICENSES 目录下的所有文件
  3. 按路径优先级选择(根目录 > LICENSES 目录 > 其他目录)
  4. 在 Readme.opensource 中分别列出每个 license

Q: 什么时候应该同时指定-l-p参数?

A:

  • ✅ 明确知道许可证名称和文件位置时
  • ✅ 需要最准确的结果时
  • ✅ 自动检测出现问题需要覆盖时

Copyright相关问题

Q: 为什么 copyright 信息为空?

A:可能原因及解决方案:

原因解决方案
源代码中没有 copyright 声明检查源文件,补充版权声明
声明格式不标准使用标准格式:Copyright (c) 年份 作者
只存在于文档文件中文档中的 copyright 默认被过滤
不包含 "copyright" 关键字工具只保留包含关键字的信息

调试方法:

LOG_LEVEL=DEBUG cret -t package.zip -n "Software" -v "1.0.0" # 查看 result.json 中的 copyright 扫描结果

Q: copyright 信息重复怎么办?

A:工具已内置去重机制。如仍有重复:

  1. 检查是否有多个文件包含相同的 copyright 声明
  2. 使用LOG_LEVEL=DEBUG查看原始扫描结果
  3. 人工核对并删除Readme.opensource中的重复项

输出相关问题

Q: 输出文件有哪些?

A:| 文件 | 说明 | |------|------| |Readme.opensource| 最终许可证声明文件 | |{target}_copyright| copyright 信息文本 | |{target}_license| license 信息文本 | |result.json| ScanCode 原始扫描结果(调试用) |

Q: Readme.opensource 格式是什么?

A:

Software: 软件名称 版本号 Copyright Notice(s): copyright信息1 copyright信息2 ... License: MIT Full License Text: MIT License内容...

Q: 执行过程中断,临时文件在哪里?

A:

  • 解压目录:目标文件同目录下,名称类似xxx-extract
  • 扫描结果:result.json
  • 出错时临时文件会保留以便调试

其他问题

Q: 工具支持哪些压缩格式?

A:.zip,.tar,.tar.gz,.tgz,.tar.bz2,.tbz2

Q: 可以直接扫描目录吗?

A:可以,直接指定目录路径:

cret -t ./source_dir -n "Software" -v "1.0.0"

Q: 如何查看详细使用指南?

A:

cret --guide

Q: Windows 环境下删除临时目录失败?

A:

  1. 修改系统注册表启用长路径支持
  2. 或手动删除xxx-extract目录

Q: 如何自定义 License 文件匹配规则?

A:工具的配置常量集中在config.py模块中,可以根据需要修改:

配置常量说明
LICENSE_FILE_PATTERNSLicense 文件名匹配模式(正则表达式列表)
LICENSE_EXTENSIONSLicense 文件扩展名集合
COPYRIGHT_IGNORED_SUFFIXESCopyright 提取时忽略的文件扩展名

示例:添加新的 license 文件名模式

# 在 config.py 中添加 LICENSE_FILE_PATTERNS = [ # ... 现有模式 r"^my-custom-license$", # 添加自定义模式 ]

Q: 遇到其他问题怎么办?

A:

  1. 使用LOG_LEVEL=DEBUG查看详细日志
  2. 查看result.json了解扫描原始结果
  3. 查看 DESIGN.md 了解设计逻辑
  4. 向项目提交 Issue,附上:
    • 详细的错误信息
    • 调试日志输出
    • 目标文件/目录的基本信息

【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 12:54:42

ARM PrimeCell外设开发与AMBA总线验证全流程解析

1. ARM PrimeCell通用外设开发与验证全流程解析在嵌入式系统开发领域,AMBA总线架构已成为事实上的行业标准。作为ARM公司推出的PrimeCell系列外设IP核,其开发与验证流程对于SoC设计至关重要。本文将基于实际项目经验,详细剖析PrimeCell外设从…

作者头像 李华
网站建设 2026/5/9 12:49:11

工业互联网(IIoT):将工厂车间代码化的巨大蓝海

当车间变成代码,测试的边界被重新定义对于软件测试从业者而言,“被测对象”长期以来主要指运行在服务器、桌面或移动端的应用程序。然而,一场静默的革命正在发生:工业互联网(Industrial Internet of Things&#xff0c…

作者头像 李华
网站建设 2026/5/9 12:44:44

CANN/GE图引擎AddInput接口

AddInput 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的…

作者头像 李华
网站建设 2026/5/9 12:44:33

SeCAM可解释AI:原理、实践与参数调优全解析

1. 从“黑箱”到“白盒”:为什么我们需要SeCAM这样的解释工具?在深度学习模型,尤其是那些动辄上亿参数的视觉模型(如ResNet、VGG)大行其道的今天,我们常常面临一个尴尬的局面:模型的预测准确率可…

作者头像 李华
网站建设 2026/5/9 12:42:50

CANN/hccl:自定义通信算子 - 点对点通信

自定义通信算子 - 点对点通信 【免费下载链接】hccl 集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案 项目地址: https://gitcode…

作者头像 李华
网站建设 2026/5/9 12:42:12

大语言模型行业应用全景:从技术原理到2026年落地实践

1. 项目概述:一场由大语言模型驱动的行业深度重塑最近和几位在不同行业做数字化转型的朋友聊天,大家不约而同地提到了同一个词:大语言模型。从去年开始,这股由ChatGPT掀起的浪潮,已经从科技圈的“玩具”和“效率工具”…

作者头像 李华