已开启
MindIE-Motor三方依赖必要性分析与消减报告 #329
ss_kkkkk创建于 7月17日
ss_kkkkk
7月17日 评论:
7月17日 评论:
| 依赖 | AI建议 | 结论 | 备注 |
|---|---|---|---|
| httpx2 | 高优先级消减 | 可以消减 | |
| psutil | 高优先级消减 | 可以消减 | |
| mkdocs-redirects | 高优先级消减 | 可以消减 | |
| confluent_kafka | 高优先级消减 | 可以消减 | 重复声明,删除根目录下的依赖,保留observability requirements 中的声明 |


wangyang
7月18日 评论:
7月18日 评论:
👋 您好,感谢向 mindie-motor 提交 Issue!
🎉 我们已收到您的反馈,感谢你对开源社区的支持!
📅 处理时效 维护团队将在工作日 24 小时内查看并回复您的问题。
🔍 自助排查(推荐优先查看) 在等待回复期间,您可以先查阅仓库README以及历史 Issue 中相似问题的解决方案,多数问题可快速解决。
💡 为了更快定位问题,请您确保 Issue 包含:
清晰的问题描述
可复现的操作步骤
相关日志、截图或环境信息
我们会尽快跟进,感谢您的理解与配合!


16 天前 关联了pull request:[bugfix] 清理非必要主动依赖声明
杨安
15 天前 评论:
15 天前 评论:
关于本 Issue 高优先级第 4 点(删除根清单 confluent_kafka):
在实现 PR #830 及检视中确认:CCAE base_reporter 顶层无条件导入 KafkaProducer/confluent_kafka,标准镜像只安装根 requirements.txt,删除会导致启动与 UT(UT_linux_arm)失败。
因此 PR #830 保留根清单 confluent_kafka,其余建议消除项(httpx2 / psutil / mkdocs-redirects)已按报告落地;并额外清理了 deployer 清单中未使用的 requests。


15 天前 关联了pull request:[bugfix] 清理非必要三方依赖声明
9 天前 修改标题为 “MindIE-Motor三方依赖必要性分析与消减报告”,原标题为“MindIE-Pymotor三方依赖必要性分析与消减报告”
9 天前 修改了issue 的描述
9 天前 修改了issue 的描述
MindIE-Motor 三方依赖必要性分析与消减报告
概览
requirements.txt23 条 / deployer 3 条 / observability 2 条 / 文档构建 8 条),去重后为 33 个包;另识别出未显式声明的直接依赖和原生构建工具。psutil、httpx2、mkdocs-redirects);建议删除重复声明:根清单中的confluent_kafka,observability 清单中的声明保留。uvicorn[standard]的未使用 extras、最终 Docker 镜像中的 git 和源码/测试/文档残留。setup.py、Python 导入和动态导入、测试脚本、Dockerfile、MkDocs 配置、原生构建脚本、协议源码和版本库已跟踪文件。依赖分析表
psutil>=5.9.8requirements.txt、tests/run_tests.shmotor/、examples/、测试 Python 代码均无使用点,安装后也未调用httpx2>=2.0.0requirements.txthttpxfastapi>=0.68.0setup.pyuvicorn[standard]>=0.15.0pydantic>=1.8.0setup.pyhttpx>=0.24.0setup.pyrequests>=2.31.0SafeHTTPSClienthttpx.Client,必须覆盖 TLS、IPv6、异常和连接模式grpcio>=1.40.0protobufgrpcio-tools>=1.40.0generate_proto.sh*_pb2.py和*_pb2_grpc.pybuild.sh和测试脚本都会调用,生成文件未提交;直接删除会导致构建失败msgspec>=0.18.0pyzmq>=25.0.0watchdog>=3.0.0anyio>=4.0.0CancelScope和取消传播setup.pyuvloop>=0.19.0; sys_platform != 'win32'setproctitle>=1.3.0NodeManager的进程标题查找 PID,删除会影响现有运维流程pyOpenSSL>=21.0.0cert_util.pysetup.pycryptographycert_util.pysetup.pyPillow>=12.2.0image_utils.py、workload calculatortransformers>=4.57.6kubernetes>=26.1.0,<=35.0.0>=1.33.1tracing.pyopentelemetry-api、opentelemetry-sdkprotobufsetup.pyconfluent_kafka>=2.13.2motor/不使用,但 CCAE 直接创建 Producer;根清单重复pytest-asyncio>=0.21asyncio_mode=auto真实依赖pytest、pytest-cov、pytest-xdisttests/run_tests.shPyYAML、tqdm>=6.0.2、>=4.67.1httpx>=0.28.1mkdocs、mkdocs-material、mkdocs-awesome-nav、mkdocs-glightbox、mkdocs-git-revision-date-localized-plugin、mkdocs-minify-plugin、pymdown-extensionsmkdocs.ymlmkdocs.yml中实际启用mkdocs-redirects>=1.2.0mkdocs.yml未启用,也没有 redirect 配置requirements/mkdocs.txt删除,并同步删除构建说明中的依赖名称vllm/vllm-ascendFROMbuild.sh写入的 0.13.0 已不一致build.sh的版本信息和兼容关系sglangpybind11secure_h2d/setup.sh会执行该构建gitcmake、make、C/C++ 编译器消减结论
高优先级消减项(建议消除,低工作量、高收益)
requirements.txt删除无使用点的httpx2>=2.0.0。requirements.txt删除无业务使用点的psutil>=5.9.8,同时删除tests/run_tests.sh中的 psutil 检查。requirements/mkdocs.txt删除未启用的mkdocs-redirects>=1.2.0,并同步修改现有文档构建说明。requirements.txt删除重复的confluent_kafka>=2.13.2,保留 observability requirements 中的声明。执行后,正式 Python 声明由 36 条减少到 32 条,去重后的包数由 33 个减少到 30 个;其中完全移除 3 个未使用包,清理 1 个重复声明。
待评估依赖(建议评估可消除性)
uvicorn[standard]改为现有根清单中的uvicorn、uvloop、httptools精确组合,减少未使用的 WebSocket 和 reload 相关依赖。tests/、docs/、.gitcode/、pre-commit 配置和构建脚本,只保留运行所需内容。requests向httpx.Client的迁移技术上可行,但调用面广且 vLLM 基础镜像也依赖 requests,不作为近期高收益项。需保留的核心依赖
FastAPI、Uvicorn/uvloop/httptools、Pydantic v2、httpx、requests、grpcio、grpcio-tools、protobuf、msgspec、pyzmq、watchdog、anyio、setproctitle、pyOpenSSL、cryptography、Pillow、transformers、Kubernetes、OpenTelemetry、Prometheus、pytest 工具、vLLM/SGLang,以及 secure_h2d 的 pybind11/CMake/编译链均存在真实使用点,应保留。
同时需要补充当前缺失的直接声明:
cryptography、opentelemetry-api、opentelemetry-sdk、protobuf。