You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

requests-aws4auth 1.3.1中AWS4Auth传参报错,如何解决?

解决requests-aws4auth 1.3.1版本运行报错问题

问题原因

你遇到的TypeError说明当前运行环境中,AWS4Auth的构造函数参数要求与你使用的调用方式不匹配,大概率是环境版本不一致或调用方式不符合旧版本规范导致的。

解决方案

1. 确认实际运行环境的包版本

首先验证脚本实际使用的requests-aws4auth版本是否确实为1.3.1:
在你的脚本开头添加以下代码并运行:

import requests_aws4auth
print(requests_aws4auth.__version__)
  • 如果输出不是1.3.1,说明你的Python环境与pip freeze输出的环境不一致(比如混用了全局环境和虚拟环境)。执行以下命令重装指定版本:
    pip uninstall requests-aws4auth -y
    pip install requests-aws4auth==1.3.1
    

2. 检查是否存在命名冲突

确认你的脚本目录下没有名为requests_aws4auth.py的自定义文件,否则会覆盖安装的官方包,导致导入错误。如果有,删除或重命名该文件。

3. 使用1.3.1版本兼容的调用方式

requests-aws4auth 1.3.1的AWS4Auth构造函数支持refreshable_credentials参数,但需确保参数传递正确。将你的代码修改为:

from requests_aws4auth import AWS4Auth
from botocore.session import Session

credentials = Session().get_credentials()
# 显式传递refreshable_credentials、region、service参数
auth = AWS4Auth(refreshable_credentials=credentials, region='eu-west-1', service='es')

4. 验证botocore版本兼容性

如果上述步骤无效,对比同事机器上的botocore版本,安装完全相同的版本:

pip install botocore==<同事的版本号>

内容的提问来源于stack exchange,提问作者Ferdinando Randisi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 01:01:02