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

使用Poetry运行Python脚本遇报错:执行poetry install仍无法启动服务

解决Poetry脚本启动报错问题

问题根源

你在pyproject.toml的[tool.poetry.scripts]里写的是shell命令python src/main.py,但Poetry的脚本配置不支持直接执行shell命令,它要求指向Python模块中的可调用函数。Poetry尝试将你写的内容按模块:函数的格式解析,拆分时只得到1个部分,因此抛出not enough values to unpack错误,同时脚本未正确安装导致警告。

解决步骤

1. 配置Poetry识别src源码目录

在pyproject.toml的[tool.poetry]区块添加一行,让Poetry知道src是你的源码根目录:

[tool.poetry]
name = "你的项目名"
version = "0.1.0"
description = ""
authors = ["你的名字 <邮箱>"]
src = true  # 添加这一行

2. 给main.py添加入口函数

修改src/main.py,把启动逻辑封装成一个可调用的函数(比如main()),并保留直接运行的入口:

# src/main.py
def main():
    # 把你原来的服务启动代码放在这里
    # 示例:
    print("服务启动成功")

# 保留直接运行脚本的能力
if __name__ == "__main__":
    main()

3. 修正scripts配置

更新pyproject.toml的脚本配置,指向main.py里的main函数:

[tool.poetry.scripts]
start = "main:main"  # 格式为「模块名:函数名」,因src是源码根,模块名就是main(对应src/main.py)

4. 重新安装并运行

执行以下命令完成安装并启动服务:

poetry install
poetry run start

临时替代方案(不推荐长期使用)

如果不想修改代码,也可以直接通过Poetry运行Python脚本:

poetry run python src/main.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:57:31