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" //虚拟机的具体位置
}
复制代码

 

posted @   雪化山河  阅读(329)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示