该错误源于 botcity-documents 旧版本(
该错误源于 `botcity-documents` 旧版本(
在使用 BotCity 框架进行文档自动化处理(如 PDF 解析、表格结构化提取)时,部分开发者在导入 botcity.document_processing 模块时会遇到如下致命错误:
ImportError: cannot import name '_priv_parser' from partially initialized module 'botcity.document_processing.parser' (most likely due to a circular import)
该错误并非代码逻辑问题,而是由 botcity-documents 包在 0.4.x 及更早版本 中采用的构建策略引发:项目曾使用 pyminify 工具配合 gzip 压缩混淆源码,以减小分发包体积。然而,此类技术被部分主流杀毒软件(如 ESET、Windows Defender 等)误判为可疑行为(与已知恶意工具 Machete 的特征相似),进而拦截或破坏模块初始化流程——导致 parser/__init__.py 在未完全加载完成时就被中断,从而触发 Python 的“部分初始化模块”异常和虚假循环依赖提示。
✅ 官方解决方案(已验证有效):
自 2023 年 8 月发布的 v0.5.0 版本起,BotCity 团队已彻底弃用所有代码混淆手段,回归标准 Python 构建流程(setuptools + wheel),确保模块结构清晰、导入链可预测、兼容性稳定。
请立即执行以下命令完成升级:
pip install --upgrade botcity-documents>=0.5.0
? 验证安装成功:
运行 pip show botcity-documents,确认 Version: 字段显示为 0.5.0 或更高(如 0.5.1, 0.6.0);同时检查 Location 路径下是否存在 botcity/document_processing/parser/_priv_parser.py 文件(v0.5.0+ 中该文件已移除,相关功能内联重构,不再触发导入异常)。
⚠️ 注意事项:
- 若升级后仍报错,请先清除 pip 缓存并强制重装:
pip cache purge pip install --force-reinstall --no-deps botcity-documents
- 不要手动修改 site-packages 中的 .pyc 文件或尝试“修复” _priv_parser 导入——该符号在新版中已不存在,强行适配将引入不可维护的技术债。
- PyCharm 用户建议同步刷新项目解释器依赖(File → Settings → Project → Python Interpreter → 点击右上角 ⚙️ → “Reload project”)。
? 总结: 此问题本质是安全软件与非标准打包方式的冲突,而非用户代码缺陷。BotCity 官方已通过架构净化(v0.5.0+)一劳永逸地解决。保持 botcity-documents 为最新稳定版,是保障文档处理流程稳定启动的前提。










