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

2025-03-26 09:09:00
admin
原创
32
摘要:问题描述:我已经使用 安装了模块 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大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2482  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1533  
  PLM(产品生命周期管理)项目对于企业优化产品研发流程、提升产品质量以及增强市场竞争力具有至关重要的意义。然而,在项目推进过程中,范围蔓延是一个常见且棘手的问题,它可能导致项目进度延迟、成本超支以及质量下降等一系列不良后果。因此,有效避免PLM项目范围蔓延成为项目成功的关键因素之一。以下将详细阐述三大管控策略,助力企业...
plm系统   0  
  PLM(产品生命周期管理)项目管理在企业产品研发与管理过程中扮演着至关重要的角色。随着市场竞争的加剧和产品复杂度的提升,PLM项目面临着诸多风险。准确量化风险优先级并采取有效措施应对,是确保项目成功的关键。五维评估矩阵作为一种有效的风险评估工具,能帮助项目管理者全面、系统地评估风险,为决策提供有力支持。五维评估矩阵概述...
免费plm软件   0  
  引言PLM(产品生命周期管理)开发流程对于企业产品的全生命周期管控至关重要。它涵盖了从产品概念设计到退役的各个阶段,直接影响着产品质量、开发周期以及企业的市场竞争力。在当今快速发展的科技环境下,客户对产品质量的要求日益提高,市场竞争也愈发激烈,这就使得优化PLM开发流程成为企业的必然选择。缺陷管理工具和六西格玛方法作为...
plm产品全生命周期管理   0  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

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

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

内置subversion和git源码管理

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

免费试用