This python wheel
网站说,只有 300 个顶级 360 软件包使用 wheel
。我进一步分析了 Python 生态系统,发现前 5000 个包中约有 2961 个包使用了 wheel
,而其他包则没有。
我的问题是:
- 如果他们不使用
wheel
,他们会使用egg
吗? - 他们为什么不使用
wheel
?是作者的懒惰还是其他原因阻止了他们使用 wheel。 - 我还从 this 找到了发布
wheel
停止安装时间脚本(如果我在这里错了请纠正我)。那么,是不是因为一些wheel
功能,这些包不能使用 wheel(因为它们可能需要setup.py
文件的一些功能,在安装,例如安装时间脚本)。
最佳答案
If they don't use wheel, do they use egg?
他们可能不会。 Wheels 是构建的发行版,另一种方法是提供一个源代码发行版,所以这很可能是这些包发布的内容(源发行版的文件名以 结尾。 zip
或 .tar.gz
。
Why don't they use wheel? Is that just the laziness of authors or something else, which stop them from using wheel.
除非项目可以使用纯 Python wheel 构建,否则为特定平台构建 wheel 需要访问类似的构建环境。他们可能没有给定的构建环境,或者没有足够的用户来证明额外的工作是合理的。也有可能他们的包非常简单,以至于从源代码安装与从构建的发行版安装没有太大区别。
I also found from this post that wheel stops install time scripts (correct me if I'm wrong here).
这是正确的:轮子是为给定平台构建的,因此除了将包放在路径中之外,在安装时不做任何事情。
So, isn't it the case that because of some wheel functionalities, those packages can't use wheel (because they might need some functionalities of setup.py file, during the installation, e.g. install time scripts).
并不是,任何可以安装的包都可以产生一个轮子。给定的包有可能不仅仅是在安装时安装(例如,它可能还从外部源下载一些大文件或其他东西),但通常不鼓励这样的模式。
关于python - pypi:为什么不是所有的包都使用 wheel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56281470/