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

src布局Python项目:脚本在独立scripts目录时如何配置project.scripts?

解决方法

方案1:将scripts目录转为可安装模块

给scripts目录添加空的__init__.py文件,使其成为合法Python包:

.
+-- scripts
|   \-- __init__.py
|   \-- lorem.py
...

修改pyproject.toml,确保安装时包含scripts包,并配置命令入口:

[project]
# 保留原有项目配置,新增packages字段
packages = ["bar", "scripts"]
# 若用setuptools的自动发现,也可写成:
# packages = { find = { where = ["src", "."] } }

[project.scripts]
foo = "scripts.lorem:ipsum"

安装项目后,scripts模块会被纳入Python路径,foo命令即可正常调用目标函数。

方案2:直接指定脚本文件(无需转模块)

如果不想将scripts转为包,可使用setuptools的scripts配置项直接关联脚本文件:

[tool.setuptools]
scripts = ["scripts/lorem.py"]

同时在scripts/lorem.py末尾添加启动逻辑:

def ipsum():
    # 你的业务逻辑
    pass

if __name__ == "__main__":
    ipsum()

这种方式安装后,会生成与脚本同名的命令(即lorem),若需指定命令名为foo,建议优先使用方案1。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:28:37