Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何';部分';安装Python包_Python_Numpy_Pip_Python Wheel - Fatal编程技术网

如何';部分';安装Python包

如何';部分';安装Python包,python,numpy,pip,python-wheel,Python,Numpy,Pip,Python Wheel,我需要在numpy包中使用一个函数,比如numpy.random.choice(另一个Python lib函数random.choice对列表进行统一采样,而我希望它从一些离散分布中进行采样) 我的程序将分发给许多人进行开发和测试。因此,这意味着他们也应该在能够运行代码之前安装numpy。我现在正试图找到一种摆脱安装整个numpy库的方法 显然,自己重写函数是一种解决方案(例如使用alias方法)。但是我想知道有没有一种方法可以让我只安装与numpy.random.choice相关的numpy部

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

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


显然,自己重写函数是一种解决方案(例如使用alias方法)。但是我想知道有没有一种方法可以让我只安装与
numpy.random.choice
相关的
numpy
部分?

这可能不值得这么麻烦,但这取决于你来权衡
numpy.random.choice
不是在Python中实现的,而是在需要使用Cython编译为C的
.pyx
文件中实现的


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

为什么要这样做?具体到numpy,我非常怀疑这是否可能。Numpy是用C编写的,安装期间在每台机器上编译。因此,安装一些小组件应该是相当困难的。我真的认为编写自己版本的
numpy.random.choice
(或从C源代码中提取该代码)作为一个新的包会更容易。它是
random.choice
不是一个可接受的替代品吗?@IanAuld正如我在帖子中指出的,它不是,因为它只能从统一分布中生成。谢谢你的回答。在互联网上搜索并在这里询问之后,似乎对于“numpy.random.choice”这样的简单函数,重写是一个更好的解决方案。