使用requests库调用Instagram API时报OSError: [Errno 22] Invalid argument
报错问题解决步骤
该错误属于导入requests第三方库阶段触发的系统错误,和你编写的接口请求逻辑无关,按以下顺序排查即可:
- 第一步:排查文件命名冲突
检查你的代码文件是否命名为requests.py,如果是就会和第三方requests库重名,导入时Python会优先加载你本地的这个文件导致报错。把文件重命名为其他名称(比如ig_followers_query.py),同时删除同目录下的__pycache__文件夹和所有.pyc后缀的缓存文件即可。 - 第二步:确认环境匹配
如果你使用了虚拟环境,先确认运行代码的Python解释器和安装requests的环境是同一个。在当前代码运行的终端执行pip show requests,如果输出包不存在,执行pip install requests安装即可。 - 第三步:排查路径字符问题
如果你的代码存放路径、Python安装路径包含中文、全角符号、空格或特殊表情,会触发OSError 22错误,将项目移动到纯英文无特殊字符的路径下重试即可。Windows系统可以尝试用管理员权限运行终端再执行代码。 - 第四步:强制重装requests
如果以上步骤都无效,执行以下命令完全重装requests库:
pip uninstall requests -y pip install requests --upgrade --force-reinstall
修复完成后可以先执行python -c "import requests"验证导入正常,再运行你的接口请求代码即可,你编写的请求逻辑本身没有语法问题。
内容的提问来源于stack exchange,提问作者Cameron McCusker
相关产品推荐
相关产品推荐

