【问题标题】:How to 'partially' install a Python package如何“部分”安装 Python 包
【发布时间】:2015-07-18 17:24:04
【问题描述】:

我需要使用numpy 包中的一个函数,比如numpy.random.choice(另一个Python lib 函数random.choice 对列表进行统一采样,而我希望它从一些离散分布中做到这一点)。

我的程序将分发给很多人进行开发和测试。这意味着他们还应该在能够运行代码之前安装numpy。我现在正试图找到一种方法来摆脱安装整个 numpy 库。

自己重写函数绝对是一种解决方案(例如使用别名方法)。但是我想知道有没有办法只能安装与numpy.random.choice相关的numpy部分?

【问题讨论】:

  • 你为什么要这样做?
  • 特别是 numpy,我非常怀疑这是否可能。 Numpy 是用 C 语言编写的,并在安装期间在每台机器上编译。因此,安装一些小组件应该是相当困难的。我真的认为将您自己的numpy.random.choice 版本(或仅从C 源代码中提取该代码)编写为一个新包会更容易
  • random.choice 不是可接受的替代品吗?
  • @IanAuld 正如我在帖子中指出的那样,它不是,因为它只能从均匀分布中生成。

标签: python numpy pip python-wheel


【解决方案1】:

这可能不值得麻烦,但您需要做出权衡。 numpy.random.choice 不是在 Python 中实现的,而是在一个需要使用 Cython 编译为 C 的 .pyx 文件中。

您可以重构它并构建一个仅实现该功能的新包(可能带有一些相关的数据结构)。但随着最近对 Python 轮子文件的改进,numpy 的安装应该比过去容易得多。所以我认为按原样安装numpy 并接受它作为依赖项会更容易。

【讨论】:

  • 感谢您的回答。在网上搜索并在这里询问后,似乎对于'numpy.random.choice'这样的简单功能,重写是一个更好的解决方案。
猜你喜欢
  • 2021-08-07
  • 2018-04-05
  • 2014-11-26
  • 1970-01-01
  • 2011-02-01
  • 2016-02-05
  • 2015-05-13
  • 1970-01-01
  • 2020-08-29
相关资源
最近更新 更多