一个成功的开源项目的其核心功能是打包功能而出色的打包功能的关键在于版本控制。因为项目是开源的所以您希望发布的包能够体现出开源社区所具备的优点。不哃的平台与语言具有不同的打包机制本文主要讲述的是 Python 及其打包机制。本文所讨论的打包机制可以作为您的基础学习此外还提供了大量的实例,可让您快速起步
除了正确做法这条理由之外,打包软件还有三条实际的理由:
尽量减少用户安装您嘚应用程序的工作量是值得的打包会让您的软件变得更容易访问和安装。如果其安装流程更加简便用户就会更加愿意使用您的软件。洳果在 Python Package Index (PyPI) 上发布您的包那么就可以通过像 pip
或 easy_install
这样的实用工具轻易地对其进行访问。请参见
中的链接以了解关于这些工具的更多信息。
另外通过对包进行版本控制,可以指定用户的项目依赖于某一个特定版本例如,将 Pinax 指定为 (参见 )
发布服务器只是一个索引,基于 Hypertext Transfer Protocol (HTTP) 协議为服务器上的文件提供服务它的文件结构应该如下:
无需访问网站,下载 tarball并将代码与网站包建立符号链接(这是我通常的做法,会引发很多问题)用户只有在项目中实现优秀的打包、发布与版本控制,才能做到这一切
总的说来,您花费一些时间来学习打包的艺术與科学是值得的由于对包进行版本控制会带来易安装性和稳定性,所以您的软件会被更多用户采用使用 和本文所提供的模板 setup.py,您可以赽速而方便地给项目增加打包功能通过正确的版本控制与用户沟通,站在用户的角度去考虑可以让他们更容易跟踪版本之间的变化。朂后由于 pip
与
virtualenv
赢得了更为广泛的采用,对发布包的依赖(位于 PyPI 或您自己的发布服务器上)越来越大因此,一定要发布你想要与全世界分享的项目
我希望本文为您提供了足够多的基础知识。 将提供更多相关文档以供您进行进一步的了解如有疑问,请到 Freenode、聊天室 #pinax and #django-social(我昵称叫 “paltman”)或 Twitter 上与我交流
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。