【fastapi】搭建第一个fastapi后端项目
本篇文章介绍一下fastapi后端项目的搭建。其实没有什么好说的,按照官方教程来即可:https://fastapi.tiangolo.com/zh/
安装依赖
这也是我觉得python项目的槽点之一。所有依赖都安装在本地,一旦在别人电脑上编写项目就又要安装一遍。很扯淡。
需要下面两个依赖(我用了清华的pip源)
fastapi:项目的主体库。安装的同时会安装fastapi所依赖的其他库。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fastapi
uvicorn:一个异步的web服务器。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uvicorn
安装完了,新建项目目录。可以执行下面命令,把用到的依赖都导出来:
pip freeze > ./requirements.txt
导出来的结果其实还是不清晰,因为有安装父依赖会自动安装子依赖的情况,反正聊胜于无吧。
annotated-types==0.6.0
anyio==4.3.0
click==8.1.7
colorama==0.4.6
fastapi==0.110.1
h11==0.14.0
idna==3.7
pydantic==2.7.0
pydantic_core==2.18.1
sniffio==1.3.1
starlette==0.37.2
typing_extensions==4.11.0
uvicorn==0.29.0
如果你在别人电脑上开发这个项目,执行下面的命令就可以按照requirements.txt文件安装第三方库:
pip install -r requirements.txt
第一行代码
main.py
from fastapi import FastAPIapp = FastAPI()@app.get("/")
def read_root():return {"Hello": "World"}
这段代码拦截"/"对应所有请求,然后返回一个{“Hello”: “World”}
运行服务器
执行下列命令运行服务器,Ctrl + C退出
uvicorn main:app --reload

相关文章:
【fastapi】搭建第一个fastapi后端项目
本篇文章介绍一下fastapi后端项目的搭建。其实没有什么好说的,按照官方教程来即可:https://fastapi.tiangolo.com/zh/ 安装依赖 这也是我觉得python项目的槽点之一。所有依赖都安装在本地,一旦在别人电脑上编写项目就又要安装一遍。很扯淡。…...
Qt/QML编程之路:图片进度条的实现(50)
要实现进度条,而进度条是通过一个图片来展示的,比如逐渐增大的音量,或者逐步增大的车速,通过图片显示的效果肯定更好一些。最直接的想法是通过一个透明的rectagle,把不想让看到的遮住,实际上这种方法不可行。 import QtQuick 2.5 import QtQuick.Window 2.2 import QtGra…...
OOCT WPF_D3D项目报错无法加载依赖项
运行示例项目报错缺少dll,发现运用了这个大老李,通过添加PATH路径也无法解决,看到debug文件夹下面没有其他的依赖项。 通过depneds工具可以看到 OCCTProxy_D3D.dll 缺少依赖项,图中的缺项都是OCCT生成的模块dll所以讲这些dll从..…...
模板方法模式:定义算法骨架的设计策略
在软件开发中,模板方法模式是一种行为型设计模式,它在父类中定义一个操作的算法框架,允许子类在不改变算法结构的情况下重定义算法的某些步骤。这种模式是基于继承的基本原则,通过抽象类达到代码复用的目的。本文将详细介绍模板方…...
es6对于变量的解构赋值(数组解构,对象解构,字符串解构,函数解构等)解析(2024-04-12)
1、数组的解构赋值 [ ] 1.1 数组解构的基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。本质上叫模型匹配,等号两边的模型相同就可以对应上。 //以前…...
Flutter学习13 - Widget
1、Flutter中常用 Widget 2、StatelessWidget 和 StateFulWidget Flutter 中的 widget 有很多,但主要分两种: StatelessWidget无状态的 widget如果一个 widget 是最终的或不可变的,那么它就是无状态的StatefulWidget有状态的 widget如果一个…...
Django开发一个学生选课系统
在这个选课系统中,分为管理员和学生两种角色。 学生登录系统以后,只能看到选课信息。管理员登录以后,可以看到选课信息和其他的管理系统。 选课界面如下: 学生管理界面如下: 数据分析界面如下: 数据…...
Vue3项目搭建及文件结构
一. Vue3项目搭建 # 安装Vue CLI npm install -g vue/cli# 通过Vue CLI创建项目: vue create my-vue3-project# 当问到你想要使用哪个版本的Vue时,选择Vue3 # 完成配置后,CLI会自动安装依赖并创建项目 # 最后,启动你的Vue3项目cd…...
【机器学习】Logistic与Softmax回归详解
在深入探讨机器学习的核心概念之前,我们首先需要理解机器学习在当今世界的作用。机器学习,作为人工智能的一个重要分支,已经渗透到我们生活的方方面面,从智能推荐系统到自动驾驶汽车,再到医学影像的分析。它能够从大量…...
MATLAB Simulink仿真搭建及代码生成技术—01自定义新建模型模板
MATLAB Simulink仿真搭建及代码生成技术 目录 01-自定义新建模型模板点击运行:显示效果:查看模型设置: 01-自定义新建模型模板 新建模型代码如下: function new_model(modelname) %建立一个名为SmartAss的新的模型并打开 open_…...
【Java8新特性】二、函数式接口
这里写自定义目录标题 一、什么是函数式接口二、自定义函数式接口三、作为参数传递 Lambda 表达式四、四大内置核心函数式接口1、消费形接口2、供给形接口3、函数型接口4、断言形接口 一、什么是函数式接口 只包含一个抽象方法的接口,称为函数式接口。你可以通过 L…...
供应RTC5606H 芯片现货
长期供应各品牌芯片现货: NVP2443I NVP6324 RTC5606H NZ3802-A IRF100B201 IMX290LQR-G STM32F103C8T6TR STM32F103C8T6TR STM32F103CBT7TR TPS3823-33DBVR IMX326 TPS3823-33DBVR LPC55S69**D100 OCP2184QAD DT3001S23E1-30 EMP8734-33…...
洛谷-P1596 [USACO10OCT] Lake Counting S
P1596 [USACO10OCT] Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; const int N110; int m,n; char g[N][N]; bool st[N][N]; //走/没走 int dx[] {-1,-1,-1,0,0,1,1,1}; //八联通 int dy[] {-1,0,1,1,-1,1…...
基于双向长短期神经网络BILSTM的发生概率预测,基于GRU神经网络的发生概率预
目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 基于双向长短期神经网络BILSTM的发生概率预测,基于GRU神经网络的发生概率预 完整代码:基于双向长短期神经网络BILSTM的发生概率预测,基于GRU神经网络的发生概率预测资源-CSDN文库 https://download.csdn.net/d…...
对OceanBase中的配置项与系统变量,合法性检查实践
在“OceanBase 配置项&系统变量实现及应用详解”的系列文章中,我们已经对配置项和系统变量的源码进行了解析。当涉及到新增配置项或系统变量时,通常会为其指定一个明确的取值范围或定义一个专门的合法性检查函数。本文将详细阐述在不同情境下&#x…...
YOLOv8绝缘子边缘破损检测系统(可以从图片、视频和摄像头三种方式检测)
可检测图片和视频当中出现的绝缘子和绝缘子边缘是否出现破损,以及自动开启摄像头,进行绝缘子检测。基于最新的YOLO-v8训练的绝缘子检测模型和完整的python代码以及绝缘子的训练数据,下载后即可运行。(效果视频:YOLOv8绝…...
【vim 学习系列文章 18 -- 选中行前后增加两行】
请阅读【嵌入式开发学习必备专栏 之 Vim】 文章目录 选中行前后增加两行1. 定义函数2. 创建快捷键映射3. 保存并重新加载 .vimrc使用方法 重新选中实现步骤 1: 定义函数步骤 2: 绑定快捷键保存并重新加载 .vimrc使用方法 选中行前后增加两行 为了在 Vim 中实现这个功能&#x…...
分布式系统接口限流方案
Git地址:https://gitee.com/deepjava/test-api-limit.git 方案一、 Guava工具包 实现单机版限流 具体代码见git 方案二、Redis lua脚本 实现分布式系统的接口限流 具体代码见git...
Flutter仿Boss-6.底部tab切换
效果 实现 图片资源采用boss包中的动画webp资源。Flutter采用Image加载webp动画。 遇到的问题 问题:Flutter加载webp再次加载无法再次播放动画问题 看如下代码: Image.asset(assets/images/xxx.webp,width: 40.w,height: 30.w, )运行的效果…...
深入理解机器学习:用Python构建您的第一个预测模型
在这个数据驱动的时代,机器学习技术正在成为各行各业的变革力量。无论是金融、医疗、零售还是教育,机器学习都在为业务决策提供支持,优化用户体验,并创造出全新的服务方式。今天,我们将一起走进机器学习的世界…...
C++ 模板与泛型编程入门
C 模板与泛型编程入门 模板把类型(及非类型参数)作为参数,在编译期由编译器按用法生成具体函数或类,是 C 泛型编程与 STL 的基础。下文以 Max、简单类模板、选择排序及可定制比较器为例说明常见写法;排序复杂度为 (O(…...
智能家居控制中心:OpenClaw桥接Qwen3-32B-Chat与HomeAssistant
智能家居控制中心:OpenClaw桥接Qwen3-32B-Chat与HomeAssistant 1. 为什么需要AI驱动的家居控制中心 去年冬天的一个深夜,我被空调异常制热的噪音惊醒。摸黑在手机APP上反复调整参数无果后,突然意识到:如果有个能理解自然语言的智…...
从机器人ROS2到微服务gRPC:手把手教你用IDL定义跨语言通信的‘世界语’
从机器人ROS2到微服务gRPC:手把手教你用IDL定义跨语言通信的‘世界语’ 清晨的阳光透过实验室的玻璃窗洒进来,机械臂正在执行预设的轨迹动作,而云端的数据分析服务实时监控着它的能耗曲线。这个看似简单的场景背后,隐藏着一个复杂…...
AI赋能开发:让快马平台智能解析并生成17.100.c.cm规格的优化代码
最近在做一个需要处理特定规格数据的项目,遇到了一个有趣的开发场景:需要基于"17.100.c.cm"这样的参数组合来构建微服务架构。这个看似简单的字符串其实包含了多维度的技术参数,正好可以借助InsCode(快马)平台的AI辅助开发能力来高…...
Arduino平台SX1280 2.4GHz LoRa轻量驱动库
1. 项目概述PlugAndPlayForLoRa 是一个面向 Arduino 生态的轻量级 LoRa 物理层(PHY)驱动库,专为 SX1280 射频芯片设计,工作于 2.4 GHz ISM 频段。该库并非协议栈(如 LoRaWAN),而是直接对接 SX12…...
大模型落地必看:蒸馏、微调、RAG全解析,案例+对比助你快速选对!
做AI落地、大模型应用的朋友,大概率都有过这样的困惑: 想让大模型适配自己的业务,到底该用蒸馏、微调还是RAG? 三者听起来都差不多,都是“优化大模型”,但实际用法、成本、效果天差地别——用错了ÿ…...
从零搭建企业级开源大模型平台:Ollama+Llama3+open-webui实战指南
1. 为什么选择OllamaLlama3open-webui组合? 最近两年大语言模型的发展速度简直让人瞠目结舌,从最初的GPT-3到现在的Llama3,模型能力突飞猛进的同时,部署门槛也在不断降低。作为一个在AI领域摸爬滚打多年的老手,我实测过…...
CssToInlineStyles终极调试指南:解决10个常见错误与性能优化技巧 [特殊字符]
CssToInlineStyles终极调试指南:解决10个常见错误与性能优化技巧 🚀 【免费下载链接】CssToInlineStyles CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very usefull…...
故障发现滞后、处置不及时引发的业务中断与数据风险,超自动化巡检帮您解决
在数字化业务高度依赖IT系统的今天,每一次故障发现滞后、每一次处置不及时,都可能引发连锁反应——从关键业务中断到核心数据泄露,损失往往远超预期。传统运维模式在应对现代复杂系统时已显疲态,而超自动化巡检正成为破解这一困局…...
HY-Motion 1.0保姆级教程:解决CUDA OOM、Prompt截断等常见问题
HY-Motion 1.0保姆级教程:解决CUDA OOM、Prompt截断等常见问题 1. 前言:为什么需要这篇教程 你是不是也遇到过这样的情况:好不容易下载了HY-Motion 1.0这个强大的3D动作生成模型,准备大展身手,结果一运行就遇到CUDA内…...
