为啥easy_install会提取一些python鸡蛋而不是其他的?

Posted

技术标签:

【中文标题】为啥easy_install会提取一些python鸡蛋而不是其他的?【英文标题】:Why does easy_install extract some python eggs and not others?为什么easy_install会提取一些python鸡蛋而不是其他的? 【发布时间】:2011-02-05 23:17:48 【问题描述】:

查看我的 /usr/local/lib/python.../dist-package 目录,我有 .egg 目录和 .egg 文件。

为什么安装程序选择将额外的包添加到.egg 目录,而将其他文件保留为.egg 扩展名?

【问题讨论】:

相关:***.com/a/60166477/1959808 相关:***.com/a/33014444/1959808 相关:***.com/a/7287318/1959808 【参考方案1】:

我无法解释为什么有些鸡蛋会被压缩(文件)而有些是目录,但我可以提供这个:如果你讨厌压缩鸡蛋(就像我一样),请将其放在 @987654322 的 [easy_install] 部分@:

zip_ok = 假

【讨论】:

【参考方案2】:

如果包只包含纯 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 解包鸡蛋。

【讨论】:

以上是关于为啥easy_install会提取一些python鸡蛋而不是其他的?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Python easy_install 不能在我的 Mac 上运行?

为啥 Python easy_install 不能在我的 Mac 上运行?

为啥easy_install依赖检查在线

从别的ROM包中提取了一些软件已合并odex已安装成功但是启动闪退,为啥会这样?

Easy_install 缓存下载的文件

Windows下安装easy_install