Eggs 与特定的架构和 python 版本相关联,直到 Python 3.3,如果 egg 包含 C 扩展,甚至是内部 Unicode 表示大小(UCS2 与 UCS4)。
不幸的是,后者的差异并没有体现在 egg 元数据中。egg 文件名包含架构和 python 版本(major.minor,所以 2.4 或 3.1),但省略了 unicode 字节大小。
正因为如此,鸡蛋不是很便携。另一方面,A.tgz
或发行版(希望)与平台无关。.zip
您的安装工具,无论是、easy_install
或其他什么,都知道如何为您将 python 包分发编译成一个 egg,因此您通常避免完全分发文件。pip
buildout
.egg
The only exception is Windows, where most people will be lacking the toolchain to compile C extensions. As Windows distributions of Python default to UCS2, you are usually safe to distribute Windows .egg
builds of packages with C extensions, to facilitate installation by automated tools.
If you use the setup.py
script to create the distribution, it's trivial to create a source-only package for upload to PyPI. I can recommend the Python Packaging User Guide for more information.