导入错误:没有名为“scipy._lib”的模块

Posted

技术标签:

【中文标题】导入错误:没有名为“scipy._lib”的模块【英文标题】:Import error: No module named 'scipy._lib' 【发布时间】:2018-10-29 07:00:48 【问题描述】:

我正在使用 pythonanywere.com 来部署我的 Django 应用程序。所以我在那个虚拟环境中安装了一些机器学习库。

(venv) 19:16 ~ $ pip3 list
Package         Version           
--------------- ------------------
certifi         2018.4.16         
chardet         3.0.4             
DAWG-Python     0.7.2             
Django          2.0.5             
docopt          0.6.2             
idna            2.6               
numpy           1.14.3            
pip             10.0.1            
pymorphy2       0.8               
pymorphy2-dicts 2.4.393442.3710985
python-dateutil 2.7.3             
pytz            2018.4            
scikit-learn    0.19.1            
scipy           1.1.0             
setuptools      39.1.0            
six             1.11.0            
sklearn         0.0               
wheel           0.31.1 

但是当我尝试python3 manage.py runserver 时,我得到了这个

    from sklearn.linear_model import SGDClassifier
  File "/home/kirillkorolev/.virtualenvs/venv/lib/python3.6/site-packages/sklearn/__init__.py", line 134, in <module>
    from .base import clone
  File "/home/kirillkorolev/.virtualenvs/venv/lib/python3.6/site-packages/sklearn/base.py", line 11, in <module>
    from scipy import sparse
  File "/home/kirillkorolev/.virtualenvs/venv/lib/python3.6/site-packages/scipy/__init__.py", line 110, in <module>
    from scipy._lib._version import NumpyVersion as _NumpyVersion
ModuleNotFoundError: No module named 'scipy._lib'

以前我在本地机器上做过同样的事情,效果很好。

在 Ubuntu 14.04.5 LTS 下的 pythonanywere.com 上的控制台中测试

【问题讨论】:

你使用python manage.py来运行它吗? 听起来您的 scipy 安装已损坏——也许您安装的某个软件包进行了部分安装?如果是这样,您也许可以通过重新安装 scipy 来修复它。 @GilesThomas 由于磁盘配额,我无法再次安装它。当我卸载并运行“pip3 install scipy”时,我得到的只是“由于 EnvironmentError 无法安装软件包:[Errno 122] 磁盘配额超出” 嗯,这听起来可能是最初的问题,然后 - 也许它在第一次尝试安装时耗尽了磁盘空间。最好的解决方案是获得更多磁盘空间。 我和你有同样的问题,但我远没有磁盘空间不足。你找到问题了吗? 【参考方案1】:

我的问题是No module named 'scipy._lib._ccallback',已通过以下方式解决:

pip3 uninstall scipy==1.7.1
pip3 install scipy==1.4.1 --user

【讨论】:

【参考方案2】:

这似乎解决了我自己只需运行:

 pip uninstall scipy &&  pip install scipy

即使我有最新版本的 scipy (1.4.1)

【讨论】:

多次执行“pip uninstall scipy”,直到没有旧包离开,也为我解决了这个问题。【参考方案3】:

这只是一个更新。我也面临同样的错误。此问题的解决方案是安装以下软件包。 sudo apt install --reinstall python*-decorator

【讨论】:

注意,如果你使用zsh你需要转义星号,所以sudo apt install --reinstall python\*-decorator Windows 用户应该怎么做? 我不再使用 Windows,但我快速搜索了一下,发现了这个链接 link。在这里检查

以上是关于导入错误:没有名为“scipy._lib”的模块的主要内容,如果未能解决你的问题,请参考以下文章

导入错误:没有名为“TkTreectrl”的模块 [重复]

导入错误:没有名为 tkinter 的模块 [重复]

导入错误:没有名为“Tkinter”的模块 [重复]

Tensorflow 导入错误:没有名为“tensorflow”的模块

导入错误:没有名为 arch 的模块

导入错误:没有名为 django 的模块