使用`scipy.stats`时无法导入`multivariate_normal`

时间:2014-08-26 20:05:29

标签: python numpy scipy gaussian

我正在尝试使用scipy生成多变量分布的pdf值。这是我脚本中的import语句:

from scipy.stats import multivariate_normal

但它正在抛出ImportError

ImportError: cannot import name multivariate_normal

其他一切正常。

3 个答案:

答案 0 :(得分:5)

如果您使用的是版本0.13.3,则可以使用pip install scipy --upgrade

在命令行进行升级

答案 1 :(得分:0)

我在Ubuntu 14.04和python 2.7上遇到过这个问题。我按照here给出的步骤解决了这个问题。问题出现是因为scipy必须至少0.14才能使stats包工作。刚做sudo pip install scipy --upgrade 不适合我。我不得不升级numpy,然后尝试升级scipy,因为scipy依赖于numpy。我们还需要更新构建依赖项。下面是我修复它的步骤

步骤1)首先需要确保正确安装所有scipy依赖项

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

步骤2)确保scipy所依赖的numpy是最新的

sudo pip install numpy --upgrade

步骤3)确保scipy的所有构建依赖性都可用

sudo apt-get build-dep python-scipy

步骤4)重新运行升级

sudo pip install scipy --upgrade

答案 2 :(得分:0)

快速修复[不推荐]

我先升级了numpy,然后升级了。之后,我能够从scipy.stats

导入multivariate_normal。

pip install numpy --upgrade --user

pip install scipy --upgrade --user