如何实现类似django-admin的本地Python包命令行调用方式?
实现类似django-admin的直接命令调用本地工具包
第一步:添加入口脚本
在项目根目录创建一个无后缀的utility-name文件,内容如下:#!/usr/bin/env python3 import sys from utility import main # 这里的utility是你的工具包名称 if __name__ == "__main__": sys.exit(main())第一行是告诉系统用Python3解释器运行脚本,后面导入你包的main函数并执行。
第二步:在工具包里实现命令逻辑
在你的工具包(比如叫utility)里新建main.py,编写处理命令的逻辑:import argparse def main(): # 解析命令行参数 parser = argparse.ArgumentParser(description="我的本地工具包") parser.add_argument("command", help="要执行的命令,比如hello/version") args = parser.parse_args() # 根据命令执行对应操作 match args.command: case "hello": print("👋 欢迎使用我的工具包!") case "version": print("工具包版本:v1.0.0") case _: print(f"❌ 未知命令:{args.command}")这里用argparse解析命令,你可以根据需求添加更多参数或命令分支。
第三步:用pip安装成可执行命令(推荐)
在项目根目录创建setup.py文件,内容如下:from setuptools import setup, find_packages setup( name="utility-name", version="1.0.0", packages=find_packages(), entry_points={ "console_scripts": [ "utility-name = utility.main:main", # 把命令映射到包的main函数 ], }, )然后在终端运行:
pip install -e .这个命令会以可编辑模式安装你的包,修改代码后无需重新安装,同时系统会把
utility-name命令加入环境变量,直接输入utility-name hello就能执行对应操作。(可选)Linux/macOS手动配置权限
如果不想用pip安装,也可以给入口脚本加可执行权限:chmod +x utility-name再把脚本所在目录添加到系统PATH中,就能直接调用,但这种方式不如pip安装通用。
内容的提问来源于stack exchange,提问作者Ivan_Solaris
相关产品推荐
相关产品推荐

