4

我们有一个通过一系列鸡蛋运行的本地系统。目前这意味着每个人都必须安装 Python 2.5 的副本。是否可以创建一个可供 Python 2.5、2.6 和 2.7(理想情况下也包括任何更高版本)使用的 egg?

显然,python 代码必须在所有三个版本下运行。同样明显的是,这个蛋不能包含任何 C 扩展。不太明显的是,egg 必须包含 python 源 (.py) 文件,而不是 .pyc 文件。

另外,我知道我们可以创建三个鸡蛋(或者可能复制一个具有三个名称的鸡蛋)——但这似乎是错误的。

4

1 回答 1

2

仅分发源 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;它为您自动化了大部分过程(例如将源分发上传到分发服务器)。

于 2011-06-03T10:10:44.980 回答