使用Python制作自己的wheel文件

平时自己利用Python制作一个个小工具后想分享给别人,但又嫌分享一堆项目代码很麻烦,那么你可以考虑将自己的项目打包成一个wheel文件,别人拿到文件后只需pip install安装即可使用,非常方便。

在上一篇博文中,利用nvidia-ml-py包制作了一个类似nvidia-smi的小工具,那本篇博文就将之前写的小工具制作成一个wheel文件:
https://blog.csdn.net/qq_37541097/article/details/136519868

首先将项目目录结构整理成如下所示:

├── LICENSE
├── my_gpu_tools
│   ├── __init__.py
│   └── main.py
└── setup.py

其中main.py文件就是上篇博文提供的源码,这里就不在重复贴了。在__init__.py文件中可以将一些常用的包导入,方便用户导包使用例如:

from .main import GPUMonitor

LICENSE是对应当前项目的使用协议,作者可以根据不同用途选择设置不同的协议(这里偷个懒放个空文件)。而setup.py是本博文最核心的文件:

from setuptools import setup, find_packages


setup(
    name="my_gpu_tools",
    version="0.0.1",
    description="my gpu tools that similar to nvidia-smi",
    author="WZMIAOMIAO",
    packages=find_packages(),
    install_requires=["prettytable", "nvidia-ml-py"],
    license="LICENSE",
    entry_points={
        "console_scripts": [
            "gpu-tools = my_gpu_tools.main:monitor_script"
        ]
    }
)

在该文件中描述了制作wheel文件的一些信息,例如wheel包的名称,版本,描述,作者,当前项目依赖的第三方库,协议以及一些快捷脚本的设置等等。这里的setup.py写的也非常简单,大家看看也都能理解。这里简单说下entry_points下的console_scripts的作用,这里可以设置一些快捷的启动脚本,例如大家安装了pytorch后就会发现有个名为torchrun的工具可以直接使用非常方便。那么本博文中将my_gpu_tools文件夹下main文件里的monitor_script函数制作为一个快捷的使用脚本,并且这个工具的名称为gpu-tools

准备好以上文件后在项目根目录下使用如下指令,即可生成我们想要的wheel文件:

python setup.py bdist_wheel

执行完后,项目目录下会生成一些新的文件:

├── LICENSE
├── build
│   ├── bdist.linux-x86_64
│   └── lib
│       └── my_gpu_tools
│           ├── __init__.py
│           └── main.py
├── dist
│   └── my_gpu_tools-0.0.1-py3-none-any.whl
├── my_gpu_tools
│   ├── __init__.py
│   └── main.py
├── my_gpu_tools.egg-info
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   ├── dependency_links.txt
│   ├── entry_points.txt
│   ├── requires.txt
│   └── top_level.txt
└── setup.py

其中我们想要的wheel文件就放在dist下,我们将my_gpu_tools-0.0.1-py3-none-any.whl文件分享给自己的朋友,朋友拿到后通过以下指令即可安装使用:

pip install my_gpu_tools-0.0.1-py3-none-any.whl

安装后可以在代码中通过from my_gpu_tools import GPUMonitor方式将我们制作好的包导入直接使用。当然也可以直接在终端命令行里通过gpu-tools -n 0.5指令来直接调用我们提供的快捷启动脚本。
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳花的小绿豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值