ModuleNotFoundError:导入 sklearn 时没有名为“numpy.random.bit_generator”的模块

问题描述 投票:0回答:1

我通过观看

this
教程在我的Macbook M1 Air上安装了opencv、tensorflow等工具: 安装后,
opencv
tensorflow
工作正常,但当我尝试导入 sklearn 时,会出现上述错误。这是错误:

File ~/miniforge3/envs/ml/lib/python3.8/site-packages/scipy/stats/distributions.py:11, in <module>
      8 from ._distn_infrastructure import (rv_discrete, rv_continuous, rv_frozen)
     10 from . import _continuous_distns
---> 11 from . import _discrete_distns
     13 from ._continuous_distns import *
     14 from ._discrete_distns import *

File ~/miniforge3/envs/ml/lib/python3.8/site-packages/scipy/stats/_discrete_distns.py:21, in <module>
     17 from ._distn_infrastructure import (
     18     rv_discrete, _ncx2_pdf, _ncx2_cdf, get_distribution_names,
     19     _check_shape)
     20 import scipy.stats._boost as _boost
---> 21 from ._biasedurn import (_PyFishersNCHypergeometric,
     22                         _PyWalleniusNCHypergeometric,
     23                         _PyStochasticLib3)
     25 class binom_gen(rv_discrete):
     26     r"""A binomial discrete random variable.
     27 
     28     %(before_notes)s
   (...)
     51 
     52     """

File _biasedurn.pyx:1, in init scipy.stats._biasedurn()

ModuleNotFoundError: No module named 'numpy.random.bit_generator'

我遵循的教程建议了 numpy 和 python 的确切版本。我在一些地方寻求帮助,他们建议更新 numpy.我不确定是否应该这样做,因为这可能会破坏 OpenCV 等其他库。

版本:

python 3.8.6

numpy 1.18.5

scikit学习1.1.1

scipy 1.8.1

numpy opencv scikit-learn conda mini-forge
1个回答
0
投票

我遇到了此错误消息。

我有一个由我编写的

secrets.py
模块。问题是 Python 库已经有一个 Secrets 模块。没问题,导入的是我的模块,我不需要另一个,没有冲突。

但是 numpy 似乎有一些可选功能。我想当你要求输入样本时,它依赖于一些廉价的随机生成器。除非你导入了 python

secrets
,在这种情况下它会尝试使用它的
random.bit_generator
我们的
secrets.py
中不存在。

解决方案:如果您有

secrets.py
,请选择其他名称。

© www.soinside.com 2019 - 2024. All rights reserved.