我已经使用pip安装了pyaudio模块。但是,当我尝试导入它时,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 3.7。)
发布于 2019-06-05 05:30:23
经常会发生这样的情况:有人使用pip安装了Python包,但似乎无法将其导入到Python中。要了解发生这种情况的原因,您必须了解Windows如何查找要运行的可执行文件,以及如何安装Python软件。基础知识:
<PYTHON_INSTALL_DIR>\Scripts.python.exe安装在您的<PYTHON_INSTALL_DIR>系统目录下(例如pip和<pip>d22>命令使用其安装目录中的模块,它们不会查看路径。因此,假设您有以下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)
最好的做法是不要依赖您的系统路径。使用py启动器选择所需的版本。要运行与您想要使用的Python版本对应的pip模块,请将pip作为模块而不是可执行文件启动。因此,不是:
pip install <package>运行:
py -3.6 -m pip install <package>要查看为该Python版本安装了哪些Python包,请使用:
py -3.6 -m pip freeze一些附加备注
py命令将始终可用,即使您没有将任何Python安装添加到您的路径。test.py),则操作将由Windows注册表确定。可以在IDE中打开该文件,也可以使用Python解释器执行该文件。在这种情况下,它可能是最近安装的Python版本。可能的情况是,命令python test.py使用了与命令Python不同的版本,test.py.python2/python3 (不是在Windows上)、pip3/pip3.7 (也在Windows上)等的可执行文件。在这些二进制文件存在且位于路径中的系统上,这些文件将非常有用。发布于 2021-01-05 19:59:07
你可能认为python -m pip install pyaudio会解决这个问题,但事实并非如此。
要安装pyaudio,首先需要使用以下命令安装pipwin:
pip install pipwinpipwin是Windows上pip的一个补充工具。pipwin安装非官方的python包。
接下来,使用pipwin安装pyaudio。
pipwin install pyaudiohttps://stackoverflow.com/questions/56449253
复制相似问题