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

Python2.7环境导入Keras触发f-string无效语法SyntaxError如何解决

报错原因

该问题由Python环境版本与安装的Keras版本不兼容直接导致:

  • f-string(即报错位置的f'at {latest_checkpoint}. Retrying. '字符串格式化语法)是Python 3.6版本才正式引入的语法特性,Python 2.7 完全不识别该语法,解析到对应代码行就会抛出SyntaxError: invalid syntax。
  • 你当前使用的是Anaconda2创建的Python 2.7版本虚拟环境dl_gwas,但环境中安装的是适配Python 3.6+的高版本Keras。Keras从2.3.0版本开始就停止了对Python 2.7的支持,源码中大量使用了Python3专属语法,因此在导入阶段就会触发语法错误。
可行解决方法

按稳定性从高到低排序:

  • 方案1(最推荐,无后续兼容问题):新建Python3版本虚拟环境安装适配依赖
    操作流程:
    1. 执行命令创建Python3.7版本(对老Keras项目兼容性最好)的新虚拟环境:conda create -n dl_gwas_py3 python=3.7
    2. 激活新环境:conda activate dl_gwas_py3
    3. 安装匹配的Keras和TensorFlow版本:pip install keras==2.10.0 tensorflow==2.10.0,如果你的项目有指定版本要求,替换为对应适配Python3的版本即可
    4. 在新环境中重新运行height.py脚本即可正常导入Keras
  • 方案2(需保留Python2.7环境时使用):降级Keras到最后一个支持Python2.7的版本
    操作流程:
    1. 激活现有dl_gwas环境:source activate dl_gwas
    2. 卸载当前不兼容的高版本Keras:pip uninstall keras -y
    3. 安装Python2.7兼容的Keras及配套依赖:pip install keras==2.2.5 tensorflow==1.15.0
  • 方案3(临时应急,不推荐长期使用):手动修改报错文件语法
    找到报错的sidecar_evaluator.py第209行,把f-string写法替换为Python2.7支持的format写法:'at {}. Retrying. '.format(latest_checkpoint)。注意该方法仅能修复当前这一处报错,高版本Keras中存在大量其他Python3专属语法,后续还会触发同类错误,仅适合临时调试使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.18 16:15:44