使用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 FastAPI
    
    app = 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. 扩展学习资源
  • 官方文档
    • FastAPI 教程:https://fastapi.tiangolo.com/tutorial/
    • VS Code Python 指南:https://code.visualstudio.com/docs/python/python-tutorial
  • 视频教程
    • YouTube 上的 FastAPI + VS Code 调试教程:https://www.youtube.com/results?search_query=debug+fastapi+vscode
  • 示例项目
    • Microsoft 的 FastAPI 示例:https://github.com/microsoft/python-sample-vscode-fastapi-tutorial

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值