从PyPI生成分发包
项目描述
本脚本允许从Python模块生成RPM spec或DEB dsc文件。它允许列出Python模块或在其Python包索引(PyPI)中搜索它们。方便的是,它可以获取tar包和变更日志,使其成为打包Python模块的通用工具。
安装
要从Python包索引安装py2pack,请执行以下操作:
$ python3 -mpip install py2pack
您还可以检查您选择的发行版是否提供软件包。对于openSUSE Tumbleweed和Leap 15.X,您可以
$ sudo zypper install python3-py2pack
使用方法
假设您想打包zope.interface,但不知道其确切名称。首先,您可以搜索它,如果找到了正确的模块,您可以下载源tar包
$ py2pack search zope.interface
searching for module zope.interface...
found zope.interface-3.6.1
$ py2pack fetch zope.interface
downloading package zope.interface-3.6.1...
from http://pypi.python.org/packages/source/z/zope.interface/zope.interface-3.6.1.tar.gz
接下来,您可能想为您的发行版生成一个软件包配方。对于基于RPM的发行版(以openSUSE为例),您需要生成一个spec文件(命名为“python-zope.interface.spec”)
$ py2pack generate zope.interface -t opensuse.spec -f python-zope.interface.spec
源tar包和软件包配方是生成RPM(或DEB)文件所需的所有内容。此最终步骤可能取决于您使用的发行版。再次以openSUSE(并使用Open Build Service)为例,完整的配方是
$ osc mkpac python-zope.interface
$ cd python-zope.interface
$ py2pack fetch zope.interface
$ py2pack generate zope.interface -f python-zope.interface.spec
$ osc build
...
根据模块的不同,您可能需要稍作修改生成的spec文件。要获取有关py2pack使用的进一步帮助,请运行以下命令
$ py2pack help
开发和贡献
您可以通过执行py2pack模块从您的git检查点测试py2pack。
编辑setup.cfg文件,更改版本号。将修订号加1就足够了。此步骤是本地安装py2pack模块所必需的。
从py2pack目录安装py2pack模块本地。
$ pip install -e .
现在您可以运行您修改过的py2pack版本。它通常位于$HOME/.local/bin/py2pack
$ py2pack
在GitHub上分叉存储库以开始对主分支(或从中分叉)进行更改。不要忘记在适当的时候为修复的问题或实现的功能编写测试。您可以通过tox从存储库根目录调用测试套件
$ tox
要通过tox运行单个测试类,例如使用
$ tox -epy38 test.test_py2pack:Py2packTestCase
您还可以直接运行pytest
$ pytest
它假定您已经在系统上安装了测试依赖项(可在PYTHONPATH上找到)。
- 版权:
2013 Sascha Peilicke.
- 许可证:
Apache-2.0,有关更多详细信息,请参阅LICENSE。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。
源代码发行版
构建发行版
py2pack-0.9.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c65cafcaabe867c0bf5171919746b388a46afea84ea6d92560142ec656dc7ec3 |
|
MD5 | 6d9ab3c453dd7da4e9ea25647382cdee |
|
BLAKE2b-256 | f23aaefdc848191ca962bf8f794b7ed2f0cc783580dcae4fad84334617014f85 |
py2pack-0.9.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 54f9607a29bf1fccdec0f9ca6ebff80c6267ffb8472d4f7356f3ff61594d3975 |
|
MD5 | 7bfe6b6193049661c026a878490b5470 |
|
BLAKE2b-256 | 87d03c047e687cc2bdd33a637b13e02b12c832f3606dc259996c0bfba5b021ad |