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

开发poetry管理的Python包所需的最精简setup.py是什么?

最简适配Poetry项目的无依赖setup.py模板

该模板完全复用Poetry在pyproject.toml中已填写的字段,无需手动维护重复信息,且默认清空所有依赖声明,完全符合跳过依赖安装的需求。


适用Python 3.11+(使用标准库无额外依赖)

from setuptools import setup
import tomllib

with open("pyproject.toml", "rb") as f:
    pyproject = tomllib.load(f)
poetry_config = pyproject["tool"]["poetry"]

setup(
    name=poetry_config["name"],
    version=poetry_config["version"],
    packages=poetry_config.get("packages", [poetry_config["name"]]),
    install_requires=[],  # 清空依赖声明,直接跳过依赖检查
)

适用Python 3.10及更早版本

先执行pip install tomli安装toml解析工具,再使用如下代码:

from setuptools import setup
import tomli as tomllib

with open("pyproject.toml", "rb") as f:
    pyproject = tomllib.load(f)
poetry_config = pyproject["tool"]["poetry"]

setup(
    name=poetry_config["name"],
    version=poetry_config["version"],
    packages=poetry_config.get("packages", [poetry_config["name"]]),
    install_requires=[],
)

使用方法

  • 将上述代码保存为项目根目录下的setup.py
  • 执行命令pip install -e . --no-deps完成可编辑安装
  • 后续遇到缺失依赖手动执行pip install 对应依赖名安装即可

额外说明

不需要额外添加其他字段,上述配置已经包含可编辑安装需要的全部核心信息:包名、版本号、包路径。其他诸如作者、许可证、项目描述等非核心字段不会影响安装使用,无需填写。
如果你的项目代码存放在src目录而非根目录下的同名包目录,只需要将packages配置项修改为packages=["src/" + poetry_config["name"]]即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:15:02