跳转到主要内容

包是一个打包您包的包

项目描述

包 包

这是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包打包技术,请按照以下简单步骤操作

  1. > cd your/src/dir/

    换句话说,只需转到您想放置这个package包仓库的目录。我建议把它放在您的其他Python包源代码仓库旁边...

  2. > git clone git://github.com/ingydotnet/package-py.git

    除非,当然,您已经有了package-py。那么也许您应该git pull它以获取最新代码。

  3. > mkdir newproject

  4. > cd newproject

  5. > make -f ../package-py/Makefile.mk setup

    这将设置您所需的所有新项目文件。这些文件处于通用、模板形式,直到您完成下一步两个步骤。

  6. 编辑package/info.yaml中关于您包的所有信息。

    通常,您只需要这个文件中的两行

    name: newproject include: ../package-py/my-info.yaml

    您可以将所有常用值保存在一个通用文件中,以便包含。当然,项目名称始终与包不同。

  7. > make info

    此命令将使用您在package/info.yaml中指定的信息更新您的包文件。您应该在更新您的info.yaml文件时运行它。

  8. > make help

    此时,您应该已经为使用就像任何其他setup.py一样设置了所有东西。

    从现在起,您被鼓励(但不是强制)使用Makefile。运行make help以查看您所有可用的选项。

  9. > make test

    package为您的包提供了一个完整的测试环境,以及一个测试。这个测试是一个失败测试!它测试您的新的Python模块是否可以干净地导入。但不会。实际上,它会抛出一个异常,告诉您您的模块尚未实现。

  10. 修复您的模块,编写更多的测试,完成您的模块。

  11. > make upload

    将您的新包发送到PyPI!

开发状态

这个package包已经存在多年了。让我们称它为Beta。

我在PyPI上的所有项目都使用这个软件。我大部分开发都是在Ubuntu Linux上使用Python 2.6.6进行的。

我很乐意听到您使用这个软件的经验。请随时在网上找到我...

作者

这个亵渎的丑陋行为是由Ingy dot Net带来的。是的,就是那个毁了Perl的家伙。那里已经没有什么可以让他掠夺的了,所以他转向了你的邻域。要小心。

项目详情


下载文件

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

源分发

package-0.1.1.tar.gz (13.6 kB 查看哈希值)

上传时间

由以下支持