使用pip打包wheel

  参考资料:

  [Pytorch-lightning的setup.py文件]

  [知乎上的打包文章]

  为什么我要写这个随笔呢?因为我想修改pytorch-lightning的源码并对其进行魔改,然后在公司的分布式训练集群上进行训练。

  具体的工作流如下:

  1. 开发机上git clone pytorch-lightning的源码

  2. 魔改源码

  3. 打包成wheel文件

  4. 上传到公司内部的云存储集群上

  5. 修改requirements.txt, 实现在安装的时候加载我们自定义的包

  关于第五步,对于requirements.txt的修改主要是新加一行:

https://XX.com/foobar/pytorch_lightning-2.5.1rc2-py3-none-any.whl

  这样pip在安装的时候就会下载这个whl然后进行安装,至于pip的默认安装行为还是比较有趣的,我准备新写一个随笔来调查。下面主要讲一下第三步的做法,参考pytorch-lightning的注释。

  首先,魔改完之后目录长这样:

  包含setup.py这个东西,显然就是开发一个pip包的组织方式。如何打包? 

Building packages as sdist or binary wheel and installing or publish to PyPI afterwords you use command
    `python setup.py sdist` or `python setup.py bdist_wheel` accordingly.
   In case you want to build just a particular package you want to set an environment variable:
   `PACKAGE_NAME=lightning|pytorch|fabric python setup.py sdist|bdist_wheel`

  follow指引,则使用python setup.py sdist会打包成tar.gz也就是源码,使用python setup.py bdist_wheel应该是二进制格式,我理解应该会进行一些预编译的操作,如果没有的话就是纯纯的.py文件,也不需要编译。这里值得注意的是如果这个仓库同时是多个pip包的开发仓库,例如lighting | lighting-fabric | pytorch-lightning的话,这个就要根据作者在setup.py里面的说明来分别打包了,像pytorch-lighting就是通过环境变量来控制的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值