在 heroku 上部署 FastAPI

最近学了点 FastAPI,打算找个 server 实践一下,于是就有了这篇文章。
首先去 heroku 注册个账号,然后看官方的入门指南。照着官方给的例子来的话是一路畅通无阻的,但是这其中还是有几个坑,而且我们需要部署的是 FastAPI,不是 Django。

第一个坑:error: failed to push some refs to 'xxx'

同样还是看官方文档,链接:用Git部署。可以看到官方是先初始化了 git,然后再把代码添加到 git 并提交,然后才能用 heroku create 创建 app,如果不按步骤来的话就会出现标题所示的错误。

第二个坑:uvicorn 默认参数不能启动 app

在本地开发的时候运行 FastAPI 一般是在命令行写 uvicorn main:app --reload,但是在服务器上不能这样写,会报错。于是又上网找到了别人的解决方案。其实就是要在命令行参数指定 hostport
web: uvicorn src.main:app --host=0.0.0.0 --port=${PORT:-5000},这里 src.main 是假设 main.py 在 src 目录下,而这个文件中有 FastAPI 的实例化对象。

总结

留下读文档时觉得比较重要的东西:
部署Python应用入门
部署app的步骤
项目内含什么文件才会被识别成 Python 应用
Python Support

posted @ 2021-04-01 19:30  CTRN43062  阅读(258)  评论(0)    收藏  举报