You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SST v3部署Python Lambda报错“No pyproject.toml found”求解决方案

问题

我正尝试部署一个带有数据聚类功能Python Lambda的SST v3应用,已有两个TypeScript Lambda可正常运行,但Python Lambda持续报错:

Build Error packages/python_functions/src/clustering.handler
↳ failed to run uv sync: exit status 2
error: No `pyproject.toml` found in current directory or any parent directory

我已尝试将pyproject.toml文件放置在项目根目录、packages/python_functions及packages/python_functions/src等不同位置,也试过用requirements.txt替代pyproject.toml,但均出现相同错误。以下是sst配置文件中的相关代码:

clusteringQueue.subscribe({
  handler: "packages/python_functions/src/clustering.handler",
  timeout: "10 minutes",
  runtime: "python3.11",
  environment: {
    SUPABASE_URL: process.env.SUPABASE_URL!,
    SUPABASE_SERVICE_ROLE_KEY: process.env.SUPABASE_SERVICE_ROLE_KEY!,
    OPENAI_API_KEY: process.env.OPENAI_API_KEY!,
  },
});

请问如何正确配置SST v3,使其在部署该Lambda函数时识别并使用pyproject.toml中的Python依赖?

解决方案
  • 指定Python函数的工作目录:在Lambda配置中添加build字段,明确指向pyproject.toml所在的目录。若文件放在packages/python_functions下,配置修改如下:
    clusteringQueue.subscribe({
      handler: "packages/python_functions/src/clustering.handler",
      timeout: "10 minutes",
      runtime: "python3.11",
      environment: {
        SUPABASE_URL: process.env.SUPABASE_URL!,
        SUPABASE_SERVICE_ROLE_KEY: process.env.SUPABASE_SERVICE_ROLE_KEY!,
        OPENAI_API_KEY: process.env.OPENAI_API_KEY!,
      },
      build: {
        cwd: "packages/python_functions",
      },
    });
    
  • 保证pyproject.toml格式合规,包含必要的依赖配置,示例结构:
    [project]
    name = "clustering-function"
    version = "0.1.0"
    dependencies = [
      "numpy>=1.26.0",
      "scikit-learn>=1.3.0",
      "openai>=1.3.0",
      "supabase>=2.0.0"
    ]
    
    [tool.uv]
    python-version = "3.11"
    
  • 若使用requirements.txt,可通过两种方式适配:
    1. 覆盖默认构建命令,直接用pip安装:
      build: {
        cwd: "packages/python_functions",
        command: "pip install -r requirements.txt -t .sst/build/stage/<stage>/packages/python_functions",
      }
      
    2. 在pyproject.toml中引用requirements.txt:
      [tool.uv.dependencies]
      requirements = "requirements.txt"
      
  • 确认项目结构符合SST预期,确保Python函数目录独立,结构示例:
    project-root/
    ├── packages/
    │   ├── python_functions/
    │   │   ├── pyproject.toml
    │   │   └── src/
    │   │       └── clustering.py
    └── sst.config.ts
    

内容的提问来源于stack exchange,提问作者BradDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:47:41