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

Python3.10环境import tpot报DEAP语法错误无法导入求助

问题原因

该语法错误由DEAP版本与Python 3.10不兼容导致。DEAP 1.3.1中保留了Python 2风格的异常抛出语法raise 异常类型, 异常信息,该语法在Python 3.10及以上版本中被完全移除,因此导入时直接触发语法报错,该问题与setuptools版本无关,反复重装同版本依赖不会解决问题。

解决方法

按优先级从高到低可选择以下方案:

  • 升级DEAP到兼容版本
    执行以下命令将DEAP升级到1.3.3及以上版本,新版本已经修复了Python 3.10的语法兼容问题:
    pip install --upgrade deap
    
    升级完成后重新执行import tpot即可正常导入。
  • 重装TPOT最新版自动匹配依赖
    如果单独升级DEAP后出现版本适配问题,可以先卸载旧版本包,再安装最新版TPOT,安装过程会自动拉取兼容的依赖版本:
    pip uninstall -y tpot deap
    pip install tpot
    
  • 手动修复本地DEAP文件
    如果必须使用当前0.11.7版本的TPOT,可以直接修改本地DEAP源码:
    1. 打开报错路径下的base.py文件:~\AppData\Roaming\Python\Python310\site-packages\deap\base.py
    2. 定位到第192行,将原有的旧语法代码:
      raise TypeError, ("Both weights and assigned values must be a "
                        "sequence of numbers when multiple weights"
                        " are assigned to a single fitness.")
      
      修改为Python 3兼容写法:
      raise TypeError("Both weights and assigned values must be a "
                      "sequence of numbers when multiple weights"
                      " are assigned to a single fitness.")
      
    3. 保存文件后重新导入TPOT即可,注意后续重装DEAP会覆盖该修改,需要重新操作。
  • 降级Python版本
    如果上述方案均不适用,可以安装Python 3.9版本创建虚拟环境,Python 3.9仍兼容旧版异常抛出语法,在该环境下安装对应版本的TPOT和DEAP即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 02:48:38