跳转到主要内容

从PyPI生成分发包

项目描述

Unit tests

本脚本允许从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上找到)。

版权:
  1. 2013 Sascha Peilicke.

许可证:

Apache-2.0,有关更多详细信息,请参阅LICENSE。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源代码发行版

py2pack-0.9.0.tar.gz (48.8 kB 查看哈希值)

上传时间: 源代码

构建发行版

py2pack-0.9.0-py2.py3-none-any.whl (32.2 kB 查看哈希值)

上传时间: Python 2 Python 3

支持