【发布时间】:2011-02-05 23:17:48
【问题描述】:
查看我的 /usr/local/lib/python.../dist-package 目录,我有 .egg 目录和 .egg 文件。
为什么安装程序选择将额外的包添加到.egg 目录,而将其他文件保留为.egg 扩展名?
【问题讨论】:
查看我的 /usr/local/lib/python.../dist-package 目录,我有 .egg 目录和 .egg 文件。
为什么安装程序选择将额外的包添加到.egg 目录,而将其他文件保留为.egg 扩展名?
【问题讨论】:
我无法解释为什么有些鸡蛋会被压缩(文件)而有些是目录,但我可以提供这个:如果你讨厌压缩鸡蛋(就像我一样),请将其放在 @987654322 的 [easy_install] 部分@:
【讨论】:
如果包只包含纯 Python 代码,它可以保留为一个 egg 文件。 Python 解释器可以直接从 egg 加载 Python 模块。如果包包含用 C 或其他数据编写的模块,则需要提取 egg 以便可以访问 C 模块和/或数据。我相信这是包的默认行为。较新版本的 Python 可能能够从 egg 文件加载 C 模块;我不确定那部分。
包的创建者还可以专门指示安装程序解压缩包,方法是在其setup.py 中将zip_safe = False 传递给setup()。
最后,安装人员可以通过将-Z option 传递给easy_install 或在pydistutils.cfg 中设置zip_ok = False 来明确告诉easy_install 解包鸡蛋。
【讨论】: