我很难理解为什么python在安装软件包时会有像.egg或.wheel(或cheeseshop)这样的名字。
是否有使用术语 egg 或 wheel 的任何解释?他们指的是什么?什么是底层图像?这个比喻?我只是没有看到这个比喻是什么。
注意:我问的是命名,而不是什么是鸡蛋?'。
答案 0 :(得分:4)
鸡蛋是蟒蛇的生命 - 它们是“蟒蛇的容器”。
至于 wheel ,“PEP 427 - Wheel Binary Package Format 1.0”,“Comparison to .egg”部分解释:
- Wheel是对其他Python的引用。
醇>
...意思是Pythons-the-comedians。
Martijn Pieters commented关于相关问题的答案,指着舌头wheel slogans(强调我的):
轮式...
- 因为'newegg'被拍了。
- Python包装 - 彻底改造。
- 奶酪容器。
- 这样可以更轻松地推出软件。
这直接导致......
奶酪店本身explains its name:
琐事
密码名称是指John Cleese和Micheal Palin于1972年1月7日执行并记录的Cheese Shop sketch。
如果您真的很好奇,请在YouTube上查看草图。
这个名字是否被选中是因为当时CPAN [包含]这么多包裹仍然处于谣言和疯狂猜测的黑暗区域。
最后一点暗示your follow-up comment的答案,“草图的比喻不起作用:它没有奶酪,而pypi就充满了奶酪。” 当它在2002年创建时,奶酪商店只会托管可用的Python软件包的一小部分。 他们与PERL的综合PERL档案网络(CPAN)的比较强烈建议这一点。
他们也有意或无意地预测了一些经验,比如试图在显而易见的地方找到yaml
包裹https://pypi.python.org/pypi/yaml
---当它实际隐藏在https://pypi.python.org/pypi/PyYAML
时。
最后,在与草图更直接的平行中,使用奶酪店注册包不需要实际上传任何东西到奶酪店。
来自distutils
upload
docs, version 3.1(强调我的):
Python包索引(PyPI)不仅存储包信息,而且如果包的作者希望,还包含包>的包数据。
由于包所有者可以选择在其他地方托管包文件,并且因为“其他地方”可能由于多种原因而不再存在,所以PyPI可以完全提供它无法提供的包。