为什么不是所有的包裹都用轮子?

2024-10-02 16:32:11 发布

您现在位置:Python中文网/ 问答频道 /正文

Thispythonwheel网站说,排名前360位的软件包中只有300个使用wheel。我进一步分析了Python生态系统,发现前5000个包中有大约2961个包使用wheel,而其他包没有

我的问题是:

  1. 如果他们不使用wheel,他们是否使用egg?你知道吗
  2. 他们为什么不用wheel?这仅仅是作者的懒惰或其他原因,阻止了他们使用轮子吗。你知道吗
  3. 我还从this的帖子中发现wheel停止了安装时脚本(如果我错了,请纠正我)。所以,不是因为某些wheel功能,这些包不能使用wheel(因为它们在安装过程中可能需要一些setup.py文件的功能,例如安装时脚本)吗。你知道吗

Tags: 文件py功能脚本网站egg过程setup
1条回答
网友
1楼 · 发布于 2024-10-02 16:32:11

If they don't use wheel, do they use egg?

轮子是构建的发行版,另一种选择是提供源发行版,因此这可能是这些包发布的内容(源发行版的文件名以.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轮子构建,否则为某个平台构建轮子需要访问类似的构建环境。有可能他们要么没有给定的构建环境,要么没有足够的用户来证明额外工作的合理性。也有可能他们的软件包非常简单,从源代码安装和从构建的发行版安装没有太大区别。你知道吗

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).

不是真的,任何可以安装的软件包都可以生产轮子。一个给定的包有可能不仅仅是在安装时安装(例如,它也可能是从外部源下载一些大文件或其他东西),但这样的模式通常是不鼓励的。你知道吗

相关问题 更多 >