ModuleNotFoundError:没有名为‘…’的模块

2025-03-26 09:09:00
admin
原创
22
摘要:问题描述:我已经使用 安装了模块 pyaudio pip。但是,当我尝试导入它时,Python 说未找到该模块:C:Usershp>pip install pyaudio Requirement already satisfied: pyaudio in c:/usershpappdatalocalpr...

问题描述:

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

C:Usershp>pip install pyaudio
Requirement already satisfied: pyaudio in c:/usershpappdatalocalprogramspythonpython37libsite-packages (0.2.11)
>>> import pyaudio
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pyaudio'

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

(我正在使用 Python 3.7。)


解决方案 1:

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

  • 运行命令时,Windows 会在环境变量 PATH 中搜索可执行文件。它会执行找到的第一个文件。

  • Python 解释器python.exe安装在<PYTHON_INSTALL_DIR>(例如C:Python.7)。

  • Python 工具(例如pippylintvirtualenvPyCrust等)安装在 中<PYTHON_INSTALL_DIR>Scripts

  • Windows 的 Python 启动器py.exe安装在您的 Windows 系统目录中(例如C:Windows)。

  • pythonpip命令使用在其安装目录中找到的模块,它们不查看 PATH。

假设您有以下 Python 版本:

C:Python.7
C:Python.6
C:Python.7

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

C:Python.7
C:Python.6Scripts

然后,看到以下输出:

C:>python -V
Python 2.7.16

C:>pip -V
pip 19.1.1 from c:python.6libsite-packagespip (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.7-64python.exe *
 -3.7-32        C:Python.7-32python.exe
 -3.6-64        C:Python.6-64python.exe
 -2.7-64        C:Python.7-64python.exe
 -2.7-32        C:Python.7-32python.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即使您没有将任何 Python 安装添加到您的 PATH,该命令也将始终可用。

  • 如果您在 Windows 资源管理器中双击 .py 文件,或者在命令提示符中直接将文件名作为命令键入(例如test.py),则操作由 Windows 注册表决定。文件可能会在您的 IDE 中打开,或者使用 Python 解释器执行。在这种情况下,它可能是最新安装的 Python 版本。命令 可能python test.py使用与命令 不同的 Python 版本test.py

  • 一些安装还包括名为python2/ python3(不在 Windows 上)、pip3/ pip3.7(也在 Windows 上)等的可执行文件。这还允许您指定要使用的版本。这些对于存在这些二进制文件且位于路径中的系统很有用。

解决方案 2:

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

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

pip install pipwin

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

接下来使用 pipwin 安装 pyaudio,

pipwin install pyaudio
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2079  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1459  
  建筑行业正处于数字化转型的关键时期,建筑产品生命周期管理(PLM)系统的实施对于提升项目效率、质量和协同性至关重要。特别是在 2025 年,基于建筑信息模型(BIM)的项目进度优化工具成为众多建筑企业关注的焦点。这些工具不仅能够整合项目全生命周期的数据,还能通过精准的分析和模拟,为项目进度管理提供强大支持。BIM 与建...
plm是什么软件   0  
  PLM系统开发的重要性与现状PLM(产品生命周期管理)系统在现代企业的产品研发、生产与管理过程中扮演着至关重要的角色。它贯穿产品从概念设计到退役的整个生命周期,整合了产品数据、流程以及人员等多方面的资源,极大地提高了企业的协同效率和创新能力。通过PLM系统,企业能够实现产品信息的集中管理与共享,不同部门之间可以实时获取...
国产plm软件   0  
  PLM(产品生命周期管理)系统在企业产品研发与管理过程中扮演着至关重要的角色。随着市场竞争的加剧和技术的飞速发展,企业对PLM系统的迭代周期优化需求日益迫切。2025年敏捷认证对项目管理提出了新的要求,其中燃尽图作为一种强大的可视化工具,在PLM系统迭代周期优化中有着广泛且重要的应用。深入探讨这些应用,对于提升企业的项...
plm系统主要干什么的   0  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用