我可以为多个版本的python创建一个鸡蛋吗?

时间:2011-05-26 10:13:20

标签: python egg

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

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

另外,我知道我们可以制作三个鸡蛋(或者可能用三个名字复制一个鸡蛋) - 但这似乎不对。

1 个答案:

答案 0 :(得分:1)

仅分发源tarball; easy-install(或pip或buildout,或者你使用的任何包依赖项管理器/安装程序)将为你创建一个用于安装它的python版本的egg。

您只需要为具有C扩展名的包创建鸡蛋,然后仅用于Windows,因为大多数Windows系统缺少自己构建鸡蛋所需的工具。

看看PyPI,看看很多这方面的例子,比如zope.interface page。请注意,对于Windows的python版本2.4,2.5和2.6,只有.egg发行版。其他所有内容只使用.tar.gz tarball下载,并根据需要在本地构建.egg

使用setup.py sdist命令构建源tarball。就个人而言,我使用jarn.mkrelease;它为您自动完成大部分过程(例如将源代码分发上传到分发服务器)。