【问题标题】:No module named 'scipy.stats', but it's installed没有名为“scipy.stats”的模块,但已安装
【发布时间】:2019-12-11 21:52:01
【问题描述】:

在 Arch Linux 上我收到此错误 No module named 'scipy.stats'

> python3 ./ddqn.py Traceback (most recent call last):   File
> "/usr/lib/python3.7/site-packages/keras/backend/__init__.py", line 93,
> in <module>
>     backend_module = importlib.import_module(_BACKEND)   File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)   File "<frozen importlib._bootstrap>", line 1006, in _gcd_import   File
> "<frozen importlib._bootstrap>", line 983, in _find_and_load   File
> "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked 
> File "<frozen importlib._bootstrap>", line 677, in _load_unlocked  
> File "<frozen importlib._bootstrap_external>", line 728, in
> exec_module   File "<frozen importlib._bootstrap>", line 219, in
> _call_with_frames_removed   File "/usr/lib/python3.7/site-packages/plaidml/keras/backend.py", line 31,
> in <module>
>     import scipy.stats ModuleNotFoundError: No module named 'scipy.stats'
> 
> During handling of the above exception, another exception occurred:
> 
> Traceback (most recent call last):   File "./ddqn.py", line 19, in
> <module>
>     from keras.models import Sequential   File "/usr/lib/python3.7/site-packages/keras/__init__.py", line 3, in
> <module>
>     from . import utils   File "/usr/lib/python3.7/site-packages/keras/utils/__init__.py", line 6, in
> <module>
>     from . import conv_utils   File "/usr/lib/python3.7/site-packages/keras/utils/conv_utils.py", line 9,
> in <module>
>     from .. import backend as K   File "/usr/lib/python3.7/site-packages/keras/backend/__init__.py", line
> 108, in <module>
>     raise ValueError('Unable to import backend : ' + str(_BACKEND)) ValueError: Unable to import backend : plaidml.keras.backend

但是安装了这个模块:

> ls /usr/lib/python3.7/site-packages/scipy/stats/
> __init__.py               _multivariate.py                        mstats.py
> __pycache__               _rvs_sampling.py                        mstats_basic.py
> _binned_statistic.py      _stats.cpython-37m-x86_64-linux-gnu.so  mstats_extras.py
> _constants.py             _stats_mstats_common.py                 mvn.cpython-37m-x86_64-linux-gnu.so
> _continuous_distns.py     _tukeylambda_stats.py                   setup.py
> _discrete_distns.py       contingency.py                          statlib.cpython-37m-x86_64-linux-gnu.so
> _distn_infrastructure.py  distributions.py                        stats.py
> _distr_params.py          kde.py                                  tests
> _hypotests.py             morestats.py                            vonmises.py

我尝试以两种不同的方式安装它:

pip3 安装 scipy

sudo pacman -S python-scipy

如何强制它在这个地方找到模块?(/usr/lib/python3.7/site-packages/scipy/stats/)

【问题讨论】:

  • 如果您尝试从 python 控制台执行 import scipyimport scipy.stats 会发生什么?
  • impot scipy 效果很好。但是 import scipy.stats 得到:ModuleNotFoundError: No module named 'scipy.stats'
  • 哪个 scipy 版本?
  • 我认为 scipy 是 1.3.0 版本。
  • 好的。如果模块初始化失败,也可以引发ModuleNotFoundError。运行命令 python3.7 -v -c "import scipy.stats" 2&gt; log.txt 然后尝试解析 log.txt 文件或将此信息添加到您的问题中。这是 python 的详细版本。

标签: python scipy archlinux


【解决方案1】:

使用sys.path.insert (see here) 指定要查看的位置。

import sys
sys.path.insert(0, <your-location>)

它应该会找到它!

【讨论】:

    【解决方案2】:

    我解析日志(由命令python3.7 -v -c "import scipy.stats" 2&gt; log.txt 生成)并发现它在 $HOME/.local/lib/python3.7/site-packages/scipy/stats 中搜索统计信息,但统计信息不存在我删除了 scipy从那里和所有作品的目录。如果它通过带有 --user 标志的 pip 安装,它将安装到 $HOME/.local/python3.7/site-packages/

    【讨论】:

      猜你喜欢
      • 2019-06-06
      • 2022-06-25
      • 2020-11-09
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-28
      相关资源
      最近更新 更多