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

Python3.7运行Python3.6项目遇RuntimeError: empty_like已有文档字符串求解决

解决Python3.7下numpy empty_like docstring重复的RuntimeError问题

这个错误我之前处理过,核心原因是你使用的numpy 1.16.0和Python3.7存在兼容性bug,结合你从Python3.6迁移到3.7运行的场景,给你以下具体解决步骤:

1. 优先升级numpy到兼容Python3.7的版本

numpy 1.16.x系列对Python3.7的支持不完善,尤其是在程序退出阶段(atexit钩子)的docstring装饰器处理逻辑,会触发"method already has a docstring"的运行时错误。你需要升级到numpy 1.17.0及以上版本——这个版本开始完全适配Python3.7:

pip install --upgrade numpy>=1.17.0

2. 同步升级scikit-learn保证依赖兼容

你当前使用的scikit-learn 0.20.2最高仅支持numpy 1.16.x,升级numpy后可能出现依赖不匹配问题,建议同步升级到支持numpy 1.17+的scikit-learn版本(比如0.21.0及以上):

pip install --upgrade scikit-learn>=0.21.0

3. 清理旧的egg缓存文件

错误信息显示包是从.eggs目录加载的,这大概率是之前旧版本依赖的缓存残留,会干扰新包的正常加载。先删除这个目录再重新安装依赖:

rm -rf /project/.eggs
pip install -r requirements.txt

4. 验证Python环境一致性

确保你当前使用的Python和pip都是3.7版本,避免多版本环境的干扰:

# 检查Python版本
python --version
# 检查pip对应的Python版本
pip --version

补充说明

Python3.7在模块导入和卸载的生命周期管理上做了调整,而旧版本numpy的装饰器逻辑没有适配这些变化,导致程序退出时触发重复添加docstring的错误。升级到兼容版本后,这个问题就会被修复。另外,建议你检查项目中其他依赖包对Python3.7的支持情况,避免出现类似兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:19:55