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

如何在Poetry管理的Python项目中执行自定义命令?

在Poetry中配置自定义命令替代npm run

Poetry支持通过配置pyproject.toml里的scripts字段实现类似npm run的自定义命令功能,以下是两种常用实现方式:

直接映射Shell命令

如果只是快速绑定Docker相关命令,可直接在pyproject.toml中添加[tool.poetry.scripts]区块,用sh -c(Linux/macOS)或cmd /c(Windows)包裹Shell命令:

[tool.poetry.scripts]
# 自定义构建Docker镜像的命令
docker-build = "sh -c 'docker build -t my-project-image .'"
# 自定义运行Docker容器的命令
docker-run = "sh -c 'docker run -d -p 8000:8000 my-project-image'"

配置完成后,执行以下命令即可调用自定义指令:

  • 构建镜像:poetry run docker-build
  • 运行容器:poetry run docker-run

Python函数封装复杂逻辑

如果需要添加错误处理、参数校验等复杂逻辑,可通过Python脚本封装命令:

  1. 在项目根目录创建scripts.py文件,编写执行逻辑:
import subprocess

def build_docker():
    try:
        subprocess.run(["docker", "build", "-t", "my-project-image", "."], check=True)
        print("镜像构建成功")
    except subprocess.CalledProcessError:
        print("镜像构建失败")

def run_docker():
    try:
        subprocess.run(["docker", "run", "-d", "-p", "8000:8000", "my-project-image"], check=True)
        print("容器启动成功")
    except subprocess.CalledProcessError:
        print("容器启动失败")
  1. 在pyproject.toml中关联这些函数:
[tool.poetry.scripts]
docker-build = "scripts:build_docker"
docker-run = "scripts:run_docker"

同样通过poetry run docker-build和poetry run docker-run执行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:27:37