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

如何让Python编写的CLI无需终端运行.py文件即可直接调用

Python CLI工具实现全局短命令调用的方法

以下是两种常用的实现方案,分别适合发布给用户使用和本地自用测试场景:

方案1:配置打包入口点(推荐,适合对外发布)

这是最规范的实现方式,用户通过pip安装你的工具后会自动生成全局可执行命令,无需额外配置。
你只需要在项目根目录的pyproject.toml中添加命令行入口配置即可,示例如下:

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "mycli-demo"
version = "0.1.0"
description = "自定义CLI工具"
requires-python = ">=3.8"

# 核心配置:定义全局命令
[project.scripts]
myCLI = "mycli_package.main:main"

上述配置的含义为:生成名为myCLI的全局命令,触发命令时自动执行项目中mycli_package包下main.py文件的main函数(也就是你编写argparse逻辑的入口函数)。
配置完成后,本地执行pip install .即可直接使用myCLI -option命令,你把包发布到PyPI后,其他用户安装后也可以直接使用对应命令。

如果你仍在使用旧版的setup.py配置,可添加如下配置实现同样效果:

from setuptools import setup

setup(
    name="mycli-demo",
    version="0.1.0",
    entry_points={
        'console_scripts': [
            'myCLI = mycli_package.main:main',
        ],
    },
)

方案2:手动配置(适合本地自用测试)

如果只是自己本地临时使用,不想做打包配置,可通过以下两种方式快速实现:

  • 方法A:修改文件属性+配置环境变量
    1. 在你的myCLI.py文件顶部添加shebang声明:
      • Linux/macOS:#!/usr/bin/env python3
      • Windows:#!python
    2. Linux/macOS执行chmod +x 路径/to/myCLI.py给文件添加执行权限,Windows无需此步骤
    3. 把myCLI.py所在的目录添加到系统PATH环境变量中,或者把文件移动到已经在PATH中的系统目录
    4. (可选)把文件重命名为myCLI去掉后缀,之后就可以直接调用myCLI -option
  • 方法B:设置命令别名
    临时生效可直接在终端执行对应命令:
    • Linux/macOS(bash/zsh):alias myCLI='python 绝对路径/to/myCLI.py'
    • Windows PowerShell:Set-Alias myCLI "python 绝对路径\to\myCLI.py"
      要永久生效的话,把上述别名配置写入对应shell的配置文件即可(比如Linux的~/.bashrc/~/.zshrc,Windows PowerShell的$PROFILE)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:12:00