You need to enable JavaScript to run this app. Ubuntu 18.04全新环境安装MHN初始化数据库报属性不可设置错误如何修复
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04全新环境安装MHN初始化数据库报属性不可设置错误如何修复

MHN数据库初始化环节AttributeError修复方案

错误根因

堆栈最终抛出的AttributeError: can't set attribute为典型的依赖版本兼容问题:

  • 旧版Flask-SQLAlchemy(MHN项目内置依赖)的驱动适配逻辑中,存在对数据库连接URL对象database属性的赋值操作
  • Ubuntu 18.04软件源默认安装的新版SQLAlchemy,已将database属性调整为只读属性,不支持写入操作,直接触发赋值报错

执行步骤

  • 保留当前安装报错的终端会话,激活MHN项目内置的Python2虚拟环境:source /opt/mhn/env/bin/activate
  • 安装和MHN代码逻辑完全匹配的指定版本依赖:
    • 安装兼容旧赋值逻辑的Flask-SQLAlchemy版本:pip install flask-sqlalchemy==2.1
    • 安装适配上述版本的SQLAlchemy组件:pip install sqlalchemy==1.0.19
  • 手动执行数据库初始化操作,跳过安装脚本的报错节点:
    • 切换到项目服务端代码目录:cd /opt/mhn/server
    • 运行初始化命令:python initdatabase.py
  • 确认初始化脚本执行完成无异常后,切回原安装流程的终端窗口,按提示继续推进剩余安装环节即可

避坑提示

  • 不要通过修改MHN源码适配新版依赖的方式修复问题,项目基于Python2.7开发,强行适配新版组件会触发大量语法、接口兼容问题,改造成本远高于依赖版本降级
  • 初始化操作完成后,可通过pip list | grep -E "(SQLAlchemy|Flask-SQLAlchemy)"核对安装版本,避免虚拟环境内多版本包混装,引发后续数据库连接异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 06:27:02