当前位置: 首页 > news >正文

使用vscode做python项目fastapi的开发

  1. 准备工作

安装必要软件

  • Python:确保安装 Python 3.8 或更高版本(FastAPI 推荐)。下载地址:https://www.python.org/downloads/

    • 验证安装:

      bash

      python --version
      
  • VS Code:下载并安装 VS Code:https://code.visualstudio.com/

  • FastAPI 和 Uvicorn:FastAPI 用于构建 API,Uvicorn 是 ASGI 服务器用于运行 FastAPI。

  • VS Code 扩展

    • 安装 Python 扩展(由 Microsoft 提供)。
    • 可选:安装 Pylance(代码补全)、REST Client(测试 API)。

设置项目目录

  1. 创建一个项目文件夹,例如 fastapi-project:

    bash

    mkdir fastapi-project
    cd fastapi-project
    
  2. 初始化 Git(可选):

    bash

    git init
    

  1. 配置 Python 虚拟环境

虚拟环境可以隔离项目依赖,避免冲突。

  1. 创建虚拟环境

    • 在 VS Code 中,打开终端(Ctrl+`)或命令行,运行:

      bash

      python -m venv venv
      
    • 这会在项目目录下创建一个名为 venv 的虚拟环境文件夹。

  2. 激活虚拟环境

    • Linux/macOS:

      bash

      source venv/bin/activate
      
    • Windows:

      bash

      venv\Scripts\activate
      
    • 激活后,终端提示符会显示 (venv)。

  3. 在 VS Code 中选择解释器

    • 按 Ctrl+Shift+P 打开命令面板,输入 Python: Select Interpreter。
    • 选择虚拟环境中的 Python 解释器(通常位于 venv/bin/python 或 venv\Scripts\python.exe)。
  4. 安装 FastAPI 和 Uvicorn: 在激活的虚拟环境中运行:

    bash

    pip install fastapi uvicorn
    

  1. 创建一个简单的 FastAPI 应用

  2. 在项目目录下创建文件 main.py,输入以下代码:

    python

    from fastapi import FastAPIapp = FastAPI()@app.get("/")
    async def root():return {"message": "Hello, FastAPI!"}
    
  3. 运行 FastAPI 应用

    • 在终端中,确保虚拟环境已激活,运行:

      bash

      uvicorn main:app --reload
      
    • 参数说明:

      • main:app:main 是文件名,app 是 FastAPI 实例。
      • –reload:启用自动重载,适合开发环境。
    • 访问 http://127.0.0.1:8000 查看 API 输出。

    • 访问 http://127.0.0.1:8000/docs 查看自动生成的 Swagger UI 文档。


  1. 配置 VS Code 调试 FastAPI

调试 FastAPI 应用需要配置 launch.json 文件以正确运行 Uvicorn。

  1. 创建调试配置文件

    • 点击 VS Code 左侧的“运行和调试”图标(或 Ctrl+Shift+D)。

    • 点击“创建 launch.json 文件”,选择 Python。

    • 在 .vscode/launch.json 中添加以下配置:

      json

      {"version": "0.2.0","configurations": [{"name": "FastAPI","type": "python","request": "launch","module": "uvicorn","args": ["main:app", "--reload"],"justMyCode": false}]
      }
      
    • 说明:

      • “module”: “uvicorn”:运行 Uvicorn 模块。
      • “args”: [“main:app”, “–reload”]:指定 FastAPI 应用和开发模式。
      • “justMyCode”: false:允许调试第三方库(如 FastAPI)。
  2. 设置断点

    • 在 main.py 中,例如 return 语句前,点击代码行左侧添加断点(红色圆点)。
  3. 启动调试

    • 按 F5 或点击“运行和调试”中的绿色播放按钮。
    • VS Code 会启动 Uvicorn,并在断点处暂停,允许您检查变量和代码执行。

  1. 优化开发体验

代码补全和静态检查

  • Pylance 扩展:提供智能补全和类型检查。

  • 设置 PYTHONPATH(如遇到模块导入问题):

    • 如果 VS Code 无法识别项目模块,添加项目路径到 PYTHONPATH:

      • 在 .vscode/settings.json 中添加:

        json

        {"python.envFile": "${workspaceFolder}/.env","python.analysis.extraPaths": ["./"]
        }
        
      • 或通过终端检查和设置:

        bash

        export PYTHONPATH=$PYTHONPATH:$(pwd)
        

测试 API

  • Swagger UI:访问 http://127.0.0.1:8000/docs 测试 API 端点。

  • REST Client 扩展:在 VS Code 中安装 REST Client,创建 .http 文件测试 API:

    http

    GET http://127.0.0.1:8000/
    

    点击“Send Request” 查看响应。

管理依赖

  • 生成 requirements.txt:

    bash

    pip freeze > requirements.txt
    
  • 安装依赖:

    bash

    pip install -r requirements.txt
    

  1. 常见问题与解决
  • TLS 握手错误(与 Flatpak 无关): 如果安装扩展或依赖时遇到网络问题,检查网络连接或代理设置:

    bash

    ping pypi.org
    
  • 模块未找到: 确保选择正确的 Python 解释器(虚拟环境中的)。重启 VS Code 或重新选择解释器。

  • 调试不生效: 检查 launch.json 配置是否正确,确保 main:app 与代码中的文件名和 FastAPI 实例名称一致。


  1. 扩展学习资源

总结

通过以上步骤,您可以在 VS Code 中为 FastAPI 项目设置 Python 开发环境,包括虚拟环境、代码运行、调试和 API 测试。关键是正确配置虚拟环境和 launch.json,并利用 VS Code 的扩展提升效率。

相关文章:

  • Vue环境下数据导出Excel的全面指南
  • MLLM常见概念通俗解析(一)
  • 电子电路:什么是电流离散性特征?
  • 日志参数含义
  • Ubuntu搭建TFTP服务器的方法
  • 优先级队列(堆)
  • JMeter 教程:使用 HTTP 请求的参数列表发送 POST 请求(form 表单格式)
  • 嵌入式硬件篇---拓展板
  • 简单使用Slidev和PPTist
  • 柔性PZT压电薄膜在线监测锂电池内部缺陷-应对薄膜电池安全挑战
  • Go 语言即时通讯系统开发日志-日志day2-5:架构设计与日志封装
  • 关于文件分片的介绍和应用
  • CSS- 4.3 绝对定位(position: absolute)学校官网导航栏实例
  • 【上位机——WPF】布局控件
  • Adapter适配器模式
  • 利用systemd启动部署在服务器上的web应用
  • Zookeeper入门(三)
  • node 后端和浏览器前端,有关 RSA 非对称加密的完整实践, 前后端匹配的代码演示
  • 从零开始实现大语言模型(十六):加载开源大语言模型参数
  • Flink 并行度的设置
  • 从《缶翁的世界》开始,看吴昌硕等湖州籍书画家对海派的影响
  • 上海明天短暂恢复晴热最高32℃,一大波雨水在候场
  • 北斗系统全面进入11个国际组织的标准体系
  • 国宝文物子弹库帛书二、三卷从美启程,18日凌晨抵京
  • 首映|《星际宝贝史迪奇》真人电影,不变的“欧哈纳”
  • 联合国:欢迎俄乌伊斯坦布尔会谈,希望实现全面停火