为什么Python没有预先构建所需的库,如pandas,numpy等

时间:2017-03-26 21:24:58

标签: python anaconda packages canopy python-packaging

包裹分开分发的原因是什么?

  • 为什么我们要单独添加'包装像熊猫,numpy?
  • 由于这些模块看起来如此重要,为什么它们不属于Python本身?

是"单一发行版" Python预先加载?

  • 如果是设计的一部分来保持核心'与其他功能分开,在这种情况下,它至少应该预先导入'一旦你启动Python。

  • 如果存在这样的分布,我在哪里可以找到?

4 个答案:

答案 0 :(得分:9)

这些工具中的许多工具(包括核心Python)都是由不同的团队单独开发和分发的,因此需要聚合器来管理它们并将它们放入单个分发中。以下是一些值得注意的例子:

答案 1 :(得分:2)

您可以使用The Interactive start-up file使用“预先导入的”模块以及预运行代码进行交互式解释启动。
或者,您可以使用The Customization modules在每次调用python时预先运行代码。

关于大熊猫和numpy是否应该成为标准库的一部分 - 这是一个意见问题。

答案 2 :(得分:2)

这有点像问“为什么每辆电机都没有附带汽车?”

虽然没有电机的汽车是没用的,但倒数并不成立:大多数电机甚至都不用于汽车。当然,人们可以尝试向想要拥有发电机的人出售一辆完整的汽车,但他们不会购买它 设计汽车的人可能不是制造电机的最佳选择,反之亦然。

与python类似。大多数python发行版不与numpy,scipy或pandas一起使用。使用这些包分发python会产生巨大的开销。

然而,当然对预构建的发行版有强烈需求,这些发行版将这些模块与各自的python相结合,并确保一切都能顺利进行。一些例子是Anaconda,Canopy,python(x,y),winpython等。所以最终用户只想要一辆运行的汽车,最好选择其中一辆,而不是从头开始安装。其他想要总是拥有最新版本的用户可能会选择自己修改它们。

答案 3 :(得分:-1)

PyPi目前有超过100,000个库可用。我确信有人认为这些都很重要。

为什么您需要或想要预加载库,考虑pip install在虚拟环境中的容易程度?