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

时间:2019-06-04 18:10:53

标签: python pip pyaudio

我已经使用input1.merge(df_grouped.to_frame(), left_on=['Week/Year', 'ID'], right_index=True) 安装了pyaudio模块。但是,当我尝试导入它时,Python说找不到该模块:

areTimestampsInSnapshotsEnabled
pip

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

2 个答案:

答案 0 :(得分:5)

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

  • 运行命令时,Windows在环境变量PATH中搜索可执行文件。它执行找到的第一个。
  • Python解释器python.exe安装在<PYTHON_INSTALL_DIR>中(例如C:\Python\3.7)。
  • pip中安装了Python工具,例如pylintvirtualenvPyCrust<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启动器选择所需的版本。要运行与您要使用的Python版本相对应的pip模块,请将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中,因此即使您没有在PATH中添加任何Python安装,py命令也将始终可用。
  • 如果您从Windows资源管理器中双击.py文件,或者直接在命令提示符下(例如test.py)作为命令键入文件名,则该操作将由Windows注册表确定。该文件可能会在您的IDE中打开,或者使用Python解释器执行。在这种情况下,它可能是最新安装的Python版本。命令python test.py使用的Python版本可能不同于命令test.py
  • 某些安装还包含名为python2 / python3的可执行文件(不适用于Windows),pip3 / pip3.7(也适用于Windows)等。这也将允许您指定要使用的版本。这些将在存在这些二进制文件且位于路径中的系统上很有用。

答案 1 :(得分:1)

您可能认为 python -m pip install pyaudio 会解决问题,但事实并非如此。

要安装 pyaudio,您首先需要使用以下命令安装 pipwin:

pip install pipwin

pipwin 是 Windows 上 pip 的补充工具。 pipwin 安装非官方的 python 包。

接下来使用pipwin安装pyaudio,

pipwin install pyaudio