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

如何通过pyproject.toml实现Python脚本的pip可执行性?

如何配置Python项目的可执行脚本

下面提供两种可行的配置方式,覆盖你提到的旧版setup.cfg方案,以及你未找到的pyproject.toml现代配置方法:

方法一:用setup.cfg配置

假设你的项目结构如下:

your_project/
├── pyproject.toml
├── setup.cfg
└── src/
    └── example_package_YOUR_USERNAME_HERE/
        ├── __init__.py
        ├── example.py
        └── myscript.py
  1. 确保模块可正常导入
    在example.py中定义你的函数:
def add_one(number):
    return number + 1

在__init__.py里导出函数,简化后续导入路径:

from .example import add_one
  1. 修改setup.cfg添加入口点
    打开setup.cfg,补充以下配置内容:
[metadata]
name = example_package_YOUR_USERNAME_HERE
version = 0.0.1

[options]
packages = find:
package_dir =
    = src
python_requires = >=3.6

[options.entry_points]
console_scripts =
    myscript = example_package_YOUR_USERNAME_HERE.myscript:main
  1. 调整脚本为可调用形式
    修改myscript.py,把执行逻辑封装到main函数中:
from example_package_YOUR_USERNAME_HERE import add_one

def main():
    print(add_one(2))  # 增加输出方便验证结果

if __name__ == "__main__":
    main()
  1. 安装项目并测试
    在终端执行命令安装开发版本:
pip install -e .

之后直接输入myscript,就能看到输出结果3。


方法二:用pyproject.toml配置(无需setup.cfg)

现在pyproject.toml已经支持直接配置可执行脚本,无需依赖旧的setup.cfg。

在你的pyproject.toml中添加以下配置:

[project]
name = "example_package_YOUR_USERNAME_HERE"
version = "0.0.1"
packages = ["example_package_YOUR_USERNAME_HERE"]
package-dir = {"" = "src"}
requires-python = ">=3.6"

[project.scripts]
myscript = "example_package_YOUR_USERNAME_HERE.myscript:main"

同样需要把myscript.py改成带main函数的形式,然后执行pip install -e .,之后就能通过myscript命令直接运行脚本。


关键注意点

  • 两种方式都要求指定一个可调用的入口函数(比如main),入口点的格式必须是包名.模块名:函数名。
  • 使用pip install -e .安装的是开发模式,修改代码后无需重新安装即可测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:55:37