为什么即使在我通过 pip 安装了模块后,还是会收到“没有名为 scipy 的模块”错误?

问题描述

我在 Windows 10 上使用 Python 3.9,我直接从 Microsoft Store 下载。

我尝试在 PowerShell 中运行脚本:Bash *.sh 这个脚本应该告诉我的计算机执行一个使用 scipy.io 和许多其他模块的 .py 脚本。

然后我收到了这个错误

ModuleNotFoundError: 没有名为“scipy”的模块

我的策略是确保 pip 是最新的,然后使用它来安装所需的包,然后运行一些命令来查看是否安装了这些包。

我运行这个命令来更新 pip: python3 -m pip install --upgrade pip

我运行这个命令来获取一些模块: python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose

我也试过这个命令以防万一: pip install scipy

得到结果:

要求已经满足...

我运行命令 pip list 以确保 scipy 在列表中(并且它在那里)。

然后我运行了命令 python,我的提示变成了“>>>”并输入了 import scipy 并且没有收到任何错误

我很困惑如何安装 scipy 但我的脚本却告诉我它不存在。请帮忙!

解决方法

从您发布的内容来看,您的系统中似乎有多个 python 环境路径,因此当您安装这些库时,它们安装在某个位置,而当您运行 bash 脚本时,它正在使用其他一些蟒蛇位置。 尝试在终端(Windows 中的 cmd)和 bash 脚本中使用这些命令:

import sys
print(sys.path)

这将为您提供 Python 环境路径(您的 Python 库所在的位置),然后比较您从终端和 bash 获得的路径。将您从终端获得的路径添加到您的全局环境中,以确保在任何地方都使用相同的 Python 版本。

你也可以参考这个:Python modules not found over terminal but on python shell,Linux

,

我遇到了同样的问题。您可能有多个版本的 python,并且只在未使用的版本上安装了 scipy 要么 您正在使用一个 IDE,它可以选择使用您安装的软件包,这些软件包不是在 python 中默认安装的。 Pycharm 有。当你创建一个新项目时,它有一个勾选选项,上面写着“继承全局站点包”,这意味着它将使用你已经安装的其他包。