我无法导入scipy.stats并得到以下错误,但不知何故
import scipy as sp
仍然正常工作。
其他库,如numpy,熊猫可以毫无问题地导入。
我尝试在 Anaconda 中重新安装 scipy 1.2.1,降级到 scipy 1.2.0,但我仍然找不到 ImportError 指定的程序。
我使用 python 3.7.3 和 scipy 1.2.1,两者都由 Anaconda 在原子文本编辑器中安装。
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-dcc8e03bb4b3> in <module>
----> 1 from scipy import stats
~Anaconda3libsite-packagesscipystats__init__.py in <module>
365 from __future__ import division, print_function, absolute_import
366
--> 367 from .stats import *
368 from .distributions import *
369 from .morestats import *
~Anaconda3libsite-packagesscipystatsstats.py in <module>
171 from scipy._lib._util import _lazywhere
172 import scipy.special as special
--> 173 from . import distributions
174 from . import mstats_basic
175 from ._stats_mstats_common import _find_repeats, linregress, theilslopes, siegelslopes
~Anaconda3libsite-packagesscipystatsdistributions.py in <module>
8 from __future__ import division, print_function, absolute_import
9
---> 10 from ._distn_infrastructure import (entropy, rv_discrete, rv_continuous,
11 rv_frozen)
12
~Anaconda3libsite-packagesscipystats_distn_infrastructure.py in <module>
22
23 # for root finding for discrete distribution ppf, and max likelihood estimation
---> 24 from scipy import optimize
25
26 # for functions of continuous distributions (e.g. moments, entropy, cdf)
~Anaconda3libsite-packagesscipyoptimize__init__.py in <module>
385
386 from .optimize import *
--> 387 from ._minimize import *
388 from ._root import *
389 from ._root_scalar import *
~Anaconda3libsite-packagesscipyoptimize_minimize.py in <module>
28 from ._trustregion_krylov import _minimize_trust_krylov
29 from ._trustregion_exact import _minimize_trustregion_exact
---> 30 from ._trustregion_constr import _minimize_trustregion_constr
31
32 # constrained minimization
~Anaconda3libsite-packagesscipyoptimize_trustregion_constr__init__.py in <module>
2
3
----> 4 from .minimize_trustregion_constr import _minimize_trustregion_constr
5
6 __all__ = ['_minimize_trustregion_constr']
~Anaconda3libsite-packagesscipyoptimize_trustregion_constrminimize_trustregion_constr.py in <module>
2 import time
3 import numpy as np
----> 4 from scipy.sparse.linalg import LinearOperator
5 from .._differentiable_functions import VectorFunction
6 from .._constraints import (
~Anaconda3libsite-packagesscipysparselinalg__init__.py in <module>
115 from .dsolve import *
116 from .interface import *
--> 117 from .eigen import *
118 from .matfuncs import *
119 from ._onenormest import *
~Anaconda3libsite-packagesscipysparselinalgeigen__init__.py in <module>
9 from __future__ import division, print_function, absolute_import
10
---> 11 from .arpack import *
12 from .lobpcg import *
13
~Anaconda3libsite-packagesscipysparselinalgeigenarpack__init__.py in <module>
20 from __future__ import division, print_function, absolute_import
21
---> 22 from .arpack import *
~Anaconda3libsite-packagesscipysparselinalgeigenarpackarpack.py in <module>
43 __all__ = ['eigs', 'eigsh', 'svds', 'ArpackError', 'ArpackNoConvergence']
44
---> 45 from . import _arpack
46 import numpy as np
47 import warnings
ImportError: DLL load failed: The specified procedure could not be foundใ
在谷歌搜索了一段时间后,我遇到了这个:https://github.com/conda/conda/issues/6396
因为我绝望了,所以我尝试了。它奏效了!我通过移除蟒蛇安装的 scipy 解决了它,然后使用预装在 Python 中的 pip 来代替安装 Scipy。
它以某种方式解决了问题。将把这个答案留给任何不幸的灵魂。
我在 conda 存储库中遇到了类似的 numpy 和 scipy 问题。它发生在加载预编译的库时。就我而言,它们是lapack_lite和_umath_linalg。如果我卸载 conda 版本并使用 pip 版本,它可以正常工作:
$ conda remove --force numpy scipy
$ pip install numpy scipy
然后它可以工作,所以希望这个过程对你有用,但是每个需要这两个的新包都会再次安装 conda 版本,因为存储库结束时附加了补丁版本,除非您想手动安装所有依赖项并避免这两个。
我遇到了同样的问题,只是运行pip instll scipy -U
更新 Scipy