Python导入requests报错ModuleNotFoundError的问题求助
解决ModuleNotFoundError: No module named 'requests'问题
从你给出的信息可直接定位核心问题:安装requests的Python版本与运行代码的Python版本不匹配。
关键信息对比
- 执行
which python3显示你预期使用的是Python 3.11:/Library/Frameworks/Python.framework/Versions/3.11/bin/python3 - 但
sys.path输出显示代码实际运行在Python 3.9环境,所有依赖搜索路径均指向3.9版本:['/Users/name/GoogleSheetNotifier', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python39.zip', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages'] pip3 install requests已将包安装到Python 3.11的site-packages目录,3.9环境自然无法找到。
解决方法
方法1:用Python 3.11直接运行代码
指定3.11的完整路径执行脚本:/Library/Frameworks/Python.framework/Versions/3.11/bin/python3 your_script.py方法2:给Python 3.9安装requests
找到3.9对应的pip工具,执行安装命令:/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin/pip3 install requests方法3:统一默认Python版本(可选)
若想长期将Python 3.11设为默认python3,可修改shell配置文件(如~/.zshrc或~/.bashrc),添加以下内容:export PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:$PATH"执行
source ~/.zshrc(对应你的shell配置文件)使修改生效,之后python3和pip3都会默认指向3.11版本。
内容的提问来源于stack exchange,提问作者Oscar
相关产品推荐
相关产品推荐

