【发布时间】:2019-04-08 05:08:23
【问题描述】:
我正在尝试使用 AWS CLI 将一些文件推送到 s3,但遇到了错误:
upload failed: ... An HTTP Client raised and unhandled exception: unknown encoding: idna
我相信这是一个 Python 特有的问题,但我不确定如何为我的 Python 解释器启用这种类型的编码。我刚刚安装了 Python 3.6,并验证了它被 powershell 和 cmd 使用。
$> python --version
Python 3.6.7
如果这不是特定于 Python 的问题,那么了解我也刚刚安装了 AWS CLI 并对其进行了正确配置可能会有所帮助。让我知道我是否还缺少其他任何东西来帮助解决这个问题。谢谢。
【问题讨论】:
-
我们需要看源码。 aws cli 是一个独立的应用程序。您使用的是 python SDK 还是命令行 CLI?如果是后者,我建议您看一下 sdk,因为它在 python 中使用起来更方便,然后“脱壳”到 cli。
-
@DanFarrell 好吧,它失败的源代码是 webpack 编译的数百行长的 javascript。我目前正在使用 Python 命令行,因为这是 AWS CLI 所依赖的。我将检查 SDK 以查看是否可以解决此问题。
-
我对你那里的措辞感到困惑,我想知道我是否正在接受你自己的困惑。例如,您说“我正在使用 python 命令行……这就是 cli 所依赖的”,我不确定您的意思。在 pythion 中实现的 aws cli 是由 aws 构建的 c_ommand _l_ine _i_nterface。它又构建在
boto库之上,这些库本身_是 python sdk。 -
@DanFarrell 好吧,我安装了 AWS CLI,一切正常。我将其配置为与我的帐户一起使用,这一切都没有问题。当我开始将东西推送到 S3 时,我收到了这个错误。在其他 SO 帖子上阅读了一些有关此错误的信息后,似乎我的 Python 版本需要更新到 3.6,以便修复此编码错误,但即使在确保 Python 版本正确之后,我仍然看到错误。老实说,我可能对正在发生的事情感到困惑,这是我第一次使用 AWS CLI。
-
从 python 2 和 3 开始,我已经使用了相当多的 aws cli 和 python sdk,我很乐意帮助你。但是如果没有任何您正在尝试做的示例,我该怎么办?
标签: python-3.x amazon-s3 aws-cli