当前位置: 首页 > 面试题库 >

ModuleNotFoundError:没有名为“ pyaudio”的模块(Windows)

姬博瀚
2023-03-14
问题内容

我已经使用安装了pyaudio模块pip。但是,当我尝试导入它时,Python说找不到该模块:

C:\Users\hp>pip install pyaudio
Requirement already satisfied: pyaudio in c:\users\hp\appdata\local\programs\python\python37\lib\site-packages (0.2.11)



>>> import pyaudio
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pyaudio'

Python为什么找不到已安装的模块?


问题答案:

经常有人使用来安装Python软件包pip,但似乎无法将其导入Python。要了解为什么会发生这种情况,您必须知道Windows如何找到要运行的可执行文件,以及如何安装Python软件。基础:

  • 运行命令时,Windows在环境变量PATH中搜索可执行文件。它执行找到的第一个。
  • Python解释器()python.exe安装在<PYTHON_INSTALL_DIR>(例如C:\Python\3.7)中。
  • Python的工具,如pippylintvirtualenvPyCrust,等,安装在<PYTHON_INSTALL_DIR>\Scripts
  • Windows的Python启动器py.exe,安装在Windows系统目录(例如C:\Windows)中。
  • pythonpip命令使用在其安装目录中找到的模块,而不查看PATH。

因此,假设您具有以下Python版本:

C:\Python\2.7
C:\Python\3.6
C:\Python\3.7

并且您的PATH环境包含以下目录:

C:\Python\2.7
C:\Python\3.6\Scripts

然后,请参见以下输出:

C:\>python -V
Python 2.7.16

C:\>pip -V
pip 19.1.1 from c:\python\3.6\lib\site-packages\pip (python 3.6)

C:\>py -V
Python 3.7.3

因此,在运行时pip,可能会将软件包安装在另一个Python版本中,而不是在运行时将获得的版本python

要查看系统上(正确)安装了哪些版本,请运行py -0p。输出示例:

C:\>py -0p
Installed Pythons found by py Launcher for Windows
 -3.7-64        C:\Python\3.7-64\python.exe *
 -3.7-32        C:\Python\3.7-32\python.exe
 -3.6-64        C:\Python\3.6-64\python.exe
 -2.7-64        C:\Python\2.7-64\python.exe
 -2.7-32        C:\Python\2.7-32\python.exe

通用解决方案(适用于Windows)

最好的办法是不要依赖您的系统PATH。使用py启动器选择所需的版本。要运行与pip您要使用的Python版本相对应的模块,请pip以模块而不是可执行文件的形式启动。所以代替:

pip install <package>

跑:

py -3.6 -m pip install <package>

要查看为该Python版本安装了哪些Python软件包,请使用:

py -3.6 -m pip freeze

一些补充说明

  • 在安装过程中可以选择是否将Python安装添加到您的PATH中。如果添加了它,它将添加在PATH的开头,因此将首先选择最新安装的Python版本。
  • Windows系统目录应始终位于PATH中,因此py即使您未在PATH中添加任何Python安装,该命令也将始终可用。
  • 如果您从Windows资源管理器中双击.py文件,或在命令提示符下(例如test.py)直接将文件名作为命令键入,则该操作由Windows注册表确定。该文件可能会在您的IDE中打开,或者使用Python解释器执行。在这种情况下,它可能是最新安装的Python版本。该命令python test.py使用的Python版本可能不同于该命令test.py
  • 某些安装还包含名为python2/ python3(在Windows上不是),pip3/ pip3.7(在Windows上也是如此)等的可执行文件。这也使您可以指定要使用的版本。这些将在存在这些二进制文件且在路径中的系统上很有用。


 类似资料:
  • 问题内容: 我正在尝试导入“火炬”包。同样,我尝试使用如下pip命令安装它,安装甚至开始,但几秒钟后出现错误 下面是我执行的命令 我得到的错误: 操作系统: Windows。 IDE :pyCharm 我获得了与此问题相关的唯一链接,但无法解释它。 https://www.gitmemory.com/torch 问题答案: 任何正在寻找解决方案的人请参考以下内容: 似乎安装割炬的命令无法正常工作,

  • 问题内容: 完成我的一个Flask项目后,我像其他人一样将其上传到了github。在2-3个月的时间后,我将整个githube存储库下载到另一台计算机上以运行它。但是,该应用程序无法运行,因为未找到给出以下消息的软件包 ModuleNotFoundError:没有名为“ Flask”的模块 因此,我最终下载了从Flask,SQLalchemy等所有软件包。但我被困在: 有人可以帮忙解决这个问题吗?

  • 我安装了Crypto模块和SHA256,但显示ModuleNotFoundError:- 回溯(最后一次调用):文件“Digitalsig.py”,第1行,来自加密。哈希导入SHA256 ModuleNotFoundError:没有名为“Crypto”的模块 这是参考代码

  • 我目前试图安装一个名为pyvjoy的python模块(https://github.com/tidzo/pyvjoy),但我在导入后遇到一个错误 以下是错误: 回溯(最后一次调用):导入pyvjoy模块中导入PlayHelper文件“C:\Users\Slay\Desktop\RLBot master\PlayHelper.py”第1行第5行的文件“runner.py”错误:没有名为“pyvjoy

  • 我不能导入在PyCharm IDE在Mac上。我尝试过使用、、和简易安装来安装和卸载Keras,但都没有成功。我尝试过更换解释器(Python 2.7和3.6),但都不起作用。 在终端中,当我运行时: pip3列表|grep-i keras 我得到: Keras 2.2.2 Keras-应用程序1.0.4 Keras-预处理1.0.2 我认为这意味着我的Keras安装是成功的。我还通过以下方式检查

  • 但我得到的错误如下 1get_ipython()中的ModuleNotFoundError Traceback(最近一次调用)。run_line_magic('matplotlib','inline')2---- ModuleNotFoundError:没有名为“tensoflow”的模块 Tensoflow版本:1.15 Keras版本:2.2.0