零度冰l 2024-01-09 19:57 采纳率: 20%
浏览 21

fastapi热重载巨慢咋回事

用pycharm创建的fastapi项目,热重载巨慢
WARNING: WatchFiles detected changes in 'api\student.py'. Reloading...

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-09 22:26
    关注

    【以下回答由 GPT 生成】

    问题原因: PyCharm创建的FastAPI项目使用默认的启动配置,在热重载时会加载整个项目并重新启动服务器,这个过程比较耗时,导致速度极慢。

    解决方案: 可以修改启动配置,使用其他工具进行热重载,例如uvicorn。下面是具体的解决方案步骤:

    1. 确保已经在PyCharm中安装了uvicorn和fastapi库:
    pip install uvicorn fastapi
    
    1. 在PyCharm中打开项目,并进入"Run/Debug Configurations"窗口。

    2. 点击"+"按钮创建一个新的启动配置。

    3. 在"Script path"输入框中选择项目主文件,一般是main.py或app.py。

    4. 在"Parameters"输入框中输入以下内容(假设你的FastAPI应用程序名为main):

    main:app --reload
    
    1. 点击"Apply"保存配置。

    2. 点击"Run"启动项目。

    通过以上步骤,你现在应该使用uvicorn作为热重载服务器启动你的FastAPI项目。这样,在代码发生改变时,只有被修改的模块会被重新加载,速度会有显著提升。

    请注意,使用uvicorn作为热重载服务器可能会导致一些功能上的限制,如无法使用PyCharm的调试功能。如果你需要使用PyCharm的调试功能,可以尝试在项目开发完成后再切换回默认的启动配置。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 1月9日

悬赏问题

  • ¥15 为什么apriori的运行时间会比fp growth的运行时间短呢
  • ¥15 帮我解决一下膳食平衡的线性规划模型的数据实例
  • ¥40 万年历缺少农历,需要和阳历同时显示
  • ¥250 雷电模拟器内存穿透、寻基址和特征码的教学
  • ¥200 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥15 关于Java的学习问题
  • ¥15 如何使用chatgpt完成文本分类任务?
  • ¥15 已知速度v关于位置s的等式,怎么转化为已知位置求速度v的等式
  • ¥15 我有个餐饮系统,用wampserver把环境配置好了,但是后端的网页却进去,是为什么,能不能帮远程一下?
  • ¥15 R运行没有名称为"species"的插槽对于此对象类"SDMmodelCV"