包是一个打包您包的包
项目描述
包 包 包
这是Python的包包包包。您可以在Python包索引中找到它: http://pypi.python.org/pypi/package/。
包 是一组工具,用于帮助Python包的开发者打包他们的包。如果您不自己打包Python包,可以忽略这个包包。
安装
不要安装这个包(包)!!!
包 不应该像普通的Python包那样安装。它应该被复制并作为其他Python包的一部分分发。
最好的做法是从GitHub上克隆它,并将其放在您为Python打包的其他包旁边
git clone git://github.com/ingydotnet/package-py.git
其次的做法是从 http://pypi.python.org/pypi/package/ 获取最新的 package-#.#.#.tar.gz,解压它并将目录重命名为 package-py。
然后按照以下说明进行操作。
WTF?
困惑?我也一样...
我喜欢写很多模块并将它们作为包分发,但当我在Python中开始做这件事时,我遇到了设置/安装器错误、糟糕的解决方案以及社区对最佳做法的分歧。我决定通过一种方式来解决这个问题,让所有程序员都能安装我的Python包(及其依赖包),无论他们的Python知识或工作环境如何。
解决方案很简单。只需在子目录中添加辅助工具,该子目录将包含在您发布的每个Python包中。
这是一个简单的小交易:用一点额外的存储空间来换取功能、包作者的理智和世界和平。:)
设计目标
以下是我开始这个项目时关心的一些事情
使我的Python包可以被任何人安装。
允许我的Python包依赖其他包。
尽可能减少对用户的额外负担。
永远不要让用户不知情且尖叫。
使setup.py文件自动从简单的yaml文件生成。
不要让这个项目将用户带入另一个依赖角落。
提供简单的Makefile来自动化相关任务。
提供使用make test运行unittest的支持。
将使用package的膨胀减少到最小。
用法
要使用此Python包打包技术,请按照以下简单步骤操作
> cd your/src/dir/
换句话说,只需转到您想放置这个package包仓库的目录。我建议把它放在您的其他Python包源代码仓库旁边...
> git clone git://github.com/ingydotnet/package-py.git
除非,当然,您已经有了package-py。那么也许您应该git pull它以获取最新代码。
> mkdir newproject
> cd newproject
> make -f ../package-py/Makefile.mk setup
这将设置您所需的所有新项目文件。这些文件处于通用、模板形式,直到您完成下一步两个步骤。
编辑package/info.yaml中关于您包的所有信息。
通常,您只需要这个文件中的两行
name: newproject include: ../package-py/my-info.yaml
您可以将所有常用值保存在一个通用文件中,以便包含。当然,项目名称始终与包不同。
> make info
此命令将使用您在package/info.yaml中指定的信息更新您的包文件。您应该在更新您的info.yaml文件时运行它。
> make help
此时,您应该已经为使用就像任何其他setup.py一样设置了所有东西。
从现在起,您被鼓励(但不是强制)使用Makefile。运行make help以查看您所有可用的选项。
> make test
package为您的包提供了一个完整的测试环境,以及一个测试。这个测试是一个失败测试!它测试您的新的Python模块是否可以干净地导入。但不会。实际上,它会抛出一个异常,告诉您您的模块尚未实现。
修复您的模块,编写更多的测试,完成您的模块。
> make upload
将您的新包发送到PyPI!
开发状态
这个package包已经存在多年了。让我们称它为Beta。
我在PyPI上的所有项目都使用这个软件。我大部分开发都是在Ubuntu Linux上使用Python 2.6.6进行的。
我很乐意听到您使用这个软件的经验。请随时在网上找到我...
版权
软件包 版权所有 (c) 2010, 2011, Ingy dot Net
软件包 使用新BSD许可证。请参阅LICENSE文件。
项目详情
package-0.1.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 01eee19a56a936bd63222f0a3c531fcdba37b5ad1bd833b960d62fb960b4955e |
|
MD5 | 96c17b771f98c6696500800d65c4b470 |
|
BLAKE2b-256 | 271689ea913b3e70256b9abe4f222543553fcce8bafc7ff3774a8802a054e6b8 |