Python命令行工具打包指南

Python 命令行工具打包指南

1. 创建项目结构

mytool/
│
├── mytool/
│   ├── __init__.py
│   └── cli.py  # 主要的命令行接口文件
├── setup.py    # 打包配置文件
└── README.md   # 项目描述

2. 编写命令行接口代码

使用 argparse 创建命令行接口:

# mytool/cli.py
import argparse

def main():
    parser = argparse.ArgumentParser(description="This is my custom tool")
    parser.add_argument('--name', type=str, help="Your name")

    args = parser.parse_args()

    if args.name:
        print(f"Hello, {args.name}!")
    else:
        print("Hello, World!")

if __name__ == '__main__':
    main()

3. 创建 setup.py

配置打包信息:

# setup.py
from setuptools import setup, find_packages

setup(
    name='mytool',
    version='0.1',
    packages=find_packages(),
    entry_points={
        'console_scripts': [
            'mytool=mytool.cli:main',
        ],
    },
    install_requires=[],  # 依赖库
)

4. 打包项目

在项目根目录运行:

pip install .

或自动链接:

pip install -e .

5. 测试命令行工具

在终端中使用命令:

mytool --name John

输出:

Hello, John!

6. 上传到 PyPI(可选)

  1. 注册 PyPI 账号并安装 twine:
    pip install twine
  2. 生成分发包:
    python setup.py sdist
  3. 使用 twine 上传:
    twine upload dist/*

7. 处理 .env 文件

安装 dotenv

pip install python-dotenv

创建 .env 文件

在项目根目录创建 .env 文件:

# .env
API_KEY=your_api_key_here

加载 .env 文件

mytool/cli.py 中添加:

from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv("API_KEY")

更新 setup.py

install_requires 中添加 dotenv 依赖:

install_requires=[
    'python-dotenv',  # 依赖库
],

运行工具

确保 .env 文件存在,运行工具:

mytool --name John

输出:

Hello, John!
Your API Key is: your_api_key_here

注意事项

  • 将 .env 文件加入 .gitignore 以保护敏感信息。
  • 针对不同环境使用不同的 .env 文件,通过指定路径加载。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇