代码打包
打包你的代码,将它共享出去,让其他的开发者使用。例如,将其打包成一个库分享给其他开发者,以便他们用在自己的应用中,或者共享给开发工具,比如 ‘py.test’。
这种代码发布方式具备的优势是其成熟的工具生态系统,例如 PyPI 和 pip,这些工具使得其他的开发者很容易下载和安装你的包,无论是用于偶然的实验,还是将其集成到大型专业的系统中。
Python 代码以这种方式发布共享是一个成熟的惯例。如果你的代码不是在 PyPI 上打包的,那么别的开发者很难找到它,也很难将它集成到他们现有的程序中。他们会严重质疑这些没有在 PyPI 上打包项目的槽糕管理,甚至认为这些项目已停止维护。
类似于这种发布代码的方式的缺点是,它依赖于开发者了解如何安装它所依赖的 Python 版本,并且能够和愿意使用类似 pip 这样的工具安装你的包所需要的其他依赖。这种做法适合发布代码给其他开发人员,但是不适合发布应用程序给终端用户使用。
Python 打包指南 提供了创建和维护 Pythond 包的一个延伸的指导。
打包的替代方案
为了发布应用程序给终端用户使用,你应该 冻结你的应用程序。
在 Linux 平台,你可以考虑 创建一个Linux发行版软件包 (例如 Debian or Ubuntu 系统中是一个.deb 文件)
对于 Python 开发者
如果你正在写一个开源的 Python 模块,PyPI 是一个适合它发布的地方,PyPI 的另一个名字 The Cheeseshop
更被人熟知。
Pip vs. easy_install
私人 PyPI
如果你想要使用源码安装一个 Python 包,而不是使用 PyPI,(即, 你的包不对外公开
),你可以通过托管一个简单的 HTTP 服务器来完成,从那些包的安装路径下运行。
从一个例子入手是最好的
比如你想安装一个包,它的名字是 MyPackage.tar.gz
,假设你的目录结构使这样:
- archive
- MyPackage
- MyPackage.tar.gz