我维护了几个Python包,它们的setup.py
文件非常相似。然而,在执行setup.py install
时,其中一个包被安装成了"egg"格式,而其他包则被安装成了"egg文件夹",即扩展名为"egg"的文件夹。
是什么造成了这种不同的行为?它们之间有什么区别?
我维护了几个Python包,它们的setup.py
文件非常相似。然而,在执行setup.py install
时,其中一个包被安装成了"egg"格式,而其他包则被安装成了"egg文件夹",即扩展名为"egg"的文件夹。
是什么造成了这种不同的行为?它们之间有什么区别?
如果存在
zip-safe
,则表示项目可以在安装为.egg
压缩包时正常工作,而反之,存在not-zip-safe
意味着该项目不应安装为.egg
文件(即作为.egg
目录)。setuptools 的setup()
中的zip_safe
选项确定将编写哪个文件。如果未提供该选项,则 setuptools 将基于代码和内容分析尝试自行评估软件包是否可用。
.py
、.pyc
和.pyo
文件。因此,如果包需要导入其他类型的模块资源(如编译的c代码;.so
文件,.pyd
文件),它将无法作为zip文件工作。