vscode 开发 fastapi 步骤
1、新建本地存放项目的文件地址
比如:D:/python/fastapi_project # 项目命名使用下划线连接
2、vscode -- 文件 -- 打开文件夹,来到 fastapi_project 下
在 vscode 内打开命令行,初始化一个虚拟环境:
python -m venv mongo1
3、激活虚拟环境【一定要激活后看到命令行有绿色激活标志,才能开始运行 python 命令,否则一起安装依赖都在全局环境下】
windows 环境下:.\venv\Scripts\activate macOS/Linux 环境下:source venv/bin/activate
如果遇到无法激活,需要使用管理员身份打开PowerShell命令行,来到项目目录下,执行:
* 查看当前的执行策略
Get-ExecutionPolicy
* 将执行策略更改为 RemoteSigned 或 Unrestricted,这样可以允许运行本地脚本。推荐使用 RemoteSigned,因为它允许运行本地编写的脚本,但阻止运行未签名的远程脚本。
Set-ExecutionPolicy RemoteSigned(按 Y 确定)
4、安装 FastAPI、Uvicorn(同时安装 pydantic、python-multipart ,这两个到时候才会自动生成文档)
方式一:
pip install fastapi uvicorn pydantic python-multipart
方式二:
建议直接新建 requirements.txt 文件,内容为:
fastapi
uvicorn
pydantic
python-multipart
然后执行:pip install -r requirements.txt
5、开始创建app项目 demo1,结构如下,新建 __init__.py 和 main.py 文件
fastapi_project/
├── mongo1/ # 虚拟环境
├── demo1/
│ ├── __init__.py
│ └── main.py
├── .gitignore
└── requirements.txt
6、在 main.py 文件中编写基本的 FastAPI 应用:
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"}
7、运行 FastAPI 应用(在 fastapi-project 目录下执行以下命令)
按照自己想要的方式执行一个命令:
uvicorn demo1.main:app --reload
uvicorn demo1.main:app --port 8080 --reload【自定义访问端口】
uvicorn demo1.main:app --host 0.0.0.0 --port 8080 --reload【0.0.0.0 表示允许从任何ip访问,否则默认只能 127.0.0.1 访问】
8、浏览器访问:
接口访问:http://127.0.0.1:8000 接口文档访问:http://127.0.0.1:8000/docs
9、在 vscode 内配置启动命令,在 fastapi-project 目录下,新建 .vscode 目录(如果没有的话),在内新建:launch.json 文件,内容如下:
{ "version": "0.2.0", "configurations": [ { "name": "FastAPI: Uvicorn", "type": "debugpy", "request": "launch", "module": "uvicorn", "args": [ "demo1.main:app", // 替换为你的应用模块路径 "--host", "0.0.0.0", "--port", "8001", "--reload" ], "jinja": true, "justMyCode": true } ], "pythonPath": "D:\\eclipse\\python\\fastapi\\work1\\demo1\\venv" //虚拟机的具体位置 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通