Python eggs的缺点是什么?

7
< p > 相比于“传统”的软件包/模块/库,通过 easy-install 使用egg是否有任何缺点?


@Ian Bicking应该对此有所发言。 - bukzor
2个回答

8

一个(潜在的)缺点是,除非在setup.py中的setup()函数中设置了zip_safe=False,否则默认情况下会压缩egg。如果一个egg被压缩了,你就不能访问它里面的文件(显然需要先解压)。如果模块本身使用了非源代码文件(如模板),它可能会指定zip_safe=False,但另一个后果是,你不能有效地使用Python调试器pdb进入压缩的模块。也就是说,你可以进入,但无法看到源代码或正确地导航。


3
您可以使用 easy_install -Z 命令来强制安装未压缩的包。同时也可以配置默认情况下解压缩安装包。 - Daniel Stutzbach
我得到了Mercurial egg,但TortoiseHg没有识别它,所以我不得不按照传统的方式安装它。这与zip有关吗? - Jorge Guberte
@Daniel: “还有一种方法可以将其配置为默认解压缩”,怎么做? - Jason S

8

使用egg文件确实会导致sys.path变得很长,需要进行搜索。当它变得非常长时,这个搜索可能需要一些时间。只有当你安装了一百个以上的egg文件时才会出现问题(但通过easy_install安装一百个egg文件是完全可能的)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接