我们有一个通过一系列鸡蛋运行的本地系统。目前这意味着每个人都必须安装 Python 2.5 的副本。是否可以创建一个可供 Python 2.5、2.6 和 2.7(理想情况下也包括任何更高版本)使用的 egg?
显然,python 代码必须在所有三个版本下运行。同样明显的是,这个蛋不能包含任何 C 扩展。不太明显的是,egg 必须包含 python 源 (.py) 文件,而不是 .pyc 文件。
另外,我知道我们可以创建三个鸡蛋(或者可能复制一个具有三个名称的鸡蛋)——但这似乎是错误的。
仅分发源 tarball;easy-install(或 pip 或 buildout,或您使用的任何包依赖管理器/安装程序)将为您创建一个用于安装它的 python 版本的 egg。
您只需要为具有 C 扩展名的包创建分发鸡蛋,然后只为 Windows 分发鸡蛋,因为大多数 Windows 系统缺乏自己构建鸡蛋所需的工具。
看看 PyPI 可以看到很多这样的例子,比如zope.interface 页面。请注意,对于 Windows 的 python 版本 2.4、2.5 和 2.6,只有 .egg 发行版。其他一切只使用tarball 下载并根据需要在本地.tar.gz
构建。.egg
setup.py sdist
您可以使用该命令构建源 tarball 。就个人而言,我使用jarn.mkrelease;它为您自动化了大部分过程(例如将源分发上传到分发服务器)。