运行Python可执行文件时提示“No module named 'requests'”但模块已安装的问题求助
解决Python运行时找不到已安装的requests模块问题
这种情况我之前在Windows环境里也碰到过,十有八九是Python环境不匹配搞的鬼——你用pip安装的requests,可能根本不在当前运行python.exe的那个环境里。下面给你一步步排查和解决的方法,按顺序试应该能搞定:
第一步:确认Python与pip的环境匹配度
先搞清楚你当前运行的Python到底是哪个版本、在哪个路径:- 打开你运行
python.exe的终端,进入Python交互模式,执行:
会输出类似import sys print(sys.executable)C:\Users\XXX\AppData\Local\Programs\Python\Python310\python.exe的路径。 - 再在同一个终端里执行:
输出里会显示pip所属的Python路径,比如pip -Vpip 23.3.1 from C:\Users\XXX\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10)。 - 如果这两个路径不一样,那问题根源就找到了:你用pip把requests装到了另一个Python环境,而当前运行的是另一个环境的Python。
- 打开你运行
第二步:用对应环境的pip重新安装
既然找到了当前运行的Python路径,直接用这个Python来调用pip安装:# 把下面的路径换成你刚才得到的sys.executable输出路径 C:\Users\XXX\AppData\Local\Programs\Python\Python310\python.exe -m pip install requests或者如果你装了Python Launcher,可以用版本号指定:
py -3.10 -m pip install requests第三步:检查虚拟环境是否激活
如果你之前创建过虚拟环境(比如用venv或者conda),一定要确认是否激活了对应的虚拟环境:- Windows CMD里,进入虚拟环境的
Scripts目录,执行activate.bat; - Windows PowerShell里,进入虚拟环境的
Scripts目录,执行.\Activate.ps1;
激活后再执行python -m pip install requests,确保装到当前激活的环境里。
- Windows CMD里,进入虚拟环境的
第四步:清理缓存并强制重装
有时候pip的缓存会导致安装异常,试试先升级pip,再强制重装requests:python -m pip install --upgrade pip python -m pip install --force-reinstall requests第五步:检查系统环境变量PATH
打开系统环境变量,查看PATH里的Python路径,确保你当前运行的python.exe所在路径排在最前面,避免系统优先调用了其他版本的Python。
内容的提问来源于stack exchange,提问作者hen
相关产品推荐
相关产品推荐

