You need to enable JavaScript to run this app. Hypercorn部署Quart生产环境时报错No module named 'nini'如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Hypercorn部署Quart生产环境时报错No module named 'nini'如何解决

问题原因

报错核心是两个问题:

  1. 代码内函数名不匹配,setups.py中定义的实例函数是get_app_instance,但server.py中导入的是不存在的create_app
  2. 你使用了相对导入并声明了__package__ = 'nini',但执行命令时Python无法识别nini作为包的路径

修复步骤

方案1:保持现有包结构,在nini的上层目录运行

  1. 先修正函数名匹配问题,修改server.py的导入和实例化逻辑:
__package__ = 'nini'

from nini.setups import get_app_instance
from nini.db import db

if __name__ == '__main__':
    app = get_app_instance()
    db.init_app(app)
    app.run(host='127.0.0.1', debug=True)
  1. 将当前目录(nini的上层目录)加入Python模块搜索路径:
export PYTHONPATH=$(pwd)
  1. 执行hypercorn命令,指定包下的server模块:
hypercorn nini.server:app
  1. 如果要用quart run,对应修改环境变量即可:
export QUART_APP=nini.server:app
quart run

方案2:直接在nini目录下运行

  1. 修改server.py,删除包声明,把相对导入改为绝对导入:
# 删掉 __package__ = 'nini' 这一行
from setups import get_app_instance
from db import db

if __name__ == '__main__':
    app = get_app_instance()
    db.init_app(app)
    app.run(host='127.0.0.1', debug=True)
  1. 如果setups.py运行时报其他模块导入错误,把里面所有开头带.的相对导入(比如from .confs import ...)的.都删除,改为绝对导入即可。
  2. 进入nini目录,直接执行命令即可:
hypercorn server:app

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 12:24:01