从pypi生成分发包

py2pack的Python项目详细描述


https://travis-ci.org/openSUSE/py2pack.png?branch=master

此脚本允许从python模块生成rpm spec或deb dsc文件。 它允许列出python模块或在python包索引中搜索它们 (皮皮)。方便的是,它可以取回皮球和变更日志,使之成为 打包python模块的通用工具。

安装

要从Python Package Index安装py2pack,只需:

$ pip install py2pack

或者,如果您必须这样做:

$ easy_install py2pack

但是,你真的不应该这么做。最后,您可以查看您选择的发行版 如果他们提供包裹。对于opensuse,您可以在Open Build Service中找到所有版本的包。如果您碰巧使用opensuse:factory( 滚动发布/开发版本),仅需:

$ sudo zypper install python-py2pack

用法

假设您想要打包zope.interface,而您不知道它是如何命名的 确切地。首先,你可以搜索它并下载源tarball如果 您找到了正确的模块:

$ 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

源tarball和包配方是生成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:

$ python -m py2pack

在github上分叉the repository,开始对master进行更改 分支(或分支)。别忘了为已修复的问题或 在适当的时候实现特性。您可以从 存储库根目录通过tox

$ tox

要通过tox运行单个测试类,请使用i.e.:

$ tox -epy27 test.test_py2pack:Py2packTestCase

您也可以直接运行nose

$ nosetests

它假设您已经安装了测试依赖项(pythonpath上提供) 在你的系统上。

copyright:
  1. 2013 Sascha Peilicke.
license:

Apache-2.0, see LICENSE for more details.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用split函数分割字符串,但没有得到期望的结果   未找到包含derby数据库嵌入架构的sql Java桌面应用程序错误   java elasticsearch vs solr用于定制全文搜索系统   java Android:创建没有startOffset的动画延迟?   java如何查看其他应用程序接收的数据?   java如何在Linux中使用D和classpath选项运行jar文件   java和域设计最佳实践   具有相同内存位置的java数组,将显示为输出   连接到java中的elasticsearch?   Java Playframework重定向到带有Json负载的外部url   java无法在Android平台上使用InputStream为蓝牙socket创建ObjectInputStream   使用POI将Excel日期转换为Java日期,年份未正确显示   oracle从数据库层还是Java层调用webservice?