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