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

Mac命令行运行Uvicorn报错:无法识别参数求助

Uvicorn命令参数无法识别问题求助

在Mac系统命令行运行FastAPI应用时,执行Uvicorn启动命令出现参数无法识别错误:

(env) mydir$ uvicorn main:app --port 8000 --host 0.0.0.0 --reload
...
uvicorn: error: unrecognized arguments: main:app --port 8000 --host 0.0.0.0 --reload
...

已通过which uvicorn确认使用的是虚拟环境中的Uvicorn,当前环境版本为uvicorn 0.34.2 + CPython 3.11.2 on Darwin。

已尝试但无效的操作

  • 卸载并重装整个虚拟环境;
  • 仅卸载并重装uvicorn;
  • 直接执行带参数的Uvicorn命令,输出如下:
(env) mydir$ uvicorn main:app --port 8000 --host 0.0.0.0 --reload
INFO:     Will watch for changes in these directories: ['/Users/XXX/Documents/mydir']
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [7067] using StatReload
usage: uvicorn [-h] [--logs-dir LOGS_DIR]
uvicorn: error: unrecognized arguments: main:app --port 8000 --host 0.0.0.0 --reload
  • 以Python模块方式运行,输出如下:
(env) mydir$ python -m uvicorn main:app --port 8000 --host 0.0.0.0 --reload
INFO:     Will watch for changes in these directories: ['/Users/XXX/Documents/mydir']
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [6489] using StatReload
usage: __main__.py [-h] [--logs-dir LOGS_DIR]
__main__.py: error: unrecognized arguments: main:app --port 8000 --host 0.0.0.0 --reload
  • 使用无参数的Uvicorn命令,输出如下:
(env) mydir$ uvicorn main:app 
usage: uvicorn [-h] [--logs-dir LOGS_DIR]
uvicorn: error: unrecognized arguments: main:app
(env) mydir$ 

可运行但存在弊端的操作

  • 直接运行Python main文件:无自动重载功能
python3 -m main
  • 在main.py中硬编码命令行参数:不适用于生产环境
if __name__ == "__main__":
    uvicorn.run(
        "main:app",
        host="0.0.0.0",
        port=8000,
        reload=True,
    )

现寻求解决Uvicorn参数无法识别问题的有效方法。

内容的提问来源于stack exchange,提问作者engineer-x

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 01:19:54