I maintain a few Python packages. I have a very similar setup.py
file for each of them. However, when doing setup.py install
, one of my packages gets installed as an egg, while the others get installed as "egg folders", i.e. folders with an extension of "egg".
What is the difference between them that causes this different behavior?
The Internal Structure of Python Eggs, Zip Support Metadata :
If
zip-safe
exists, it means that the project will work properly when installed as an.egg
zipfile, and conversely the existence ofnot-zip-safe
means the project should not be installed as an.egg
file [ie. as an.egg
directory]. Thezip_safe
option to setuptools'setup()
determines which file will be written. If the option isn't provided, setuptools attempts to make its own assessment of whether the package can work, based on code and content analysis.