由于导入模块冲突,S3 上传失败
S3 upload fails due to import modules collision
我正在使用 python 脚本将文件上传到 s3 存储桶。但是我遇到了
这样的错误
S3 Upload Failed with exception : An HTTP Client raised an unhandled exception: cannot switch to a different thread
当我调查时,我发现包 boto3
和 grequests
有奇怪的行为
当我在我的脚本中导入 grequests
和 boto3
时,它抛出异常。但是当我从我的代码中删除 import grequests
时,文件会毫无问题地上传到 s3。
import sys, os, time
import grequests
import boto3, ntpath
我的代码中确实需要 grequests
和 boto3
。但是如果我想对 s3 使用 boto3 ,我不能导入 grequests
。
有什么办法可以防止这种行为吗?
看起来像是一个已知问题:https://github.com/spyoungtech/grequests/issues/123。
Github 线程中建议的解决方案包括更改导入顺序和使用替代库,如 https://pypi.org/project/fgrequests/。
我正在使用 python 脚本将文件上传到 s3 存储桶。但是我遇到了
这样的错误S3 Upload Failed with exception : An HTTP Client raised an unhandled exception: cannot switch to a different thread
当我调查时,我发现包 boto3
和 grequests
当我在我的脚本中导入 grequests
和 boto3
时,它抛出异常。但是当我从我的代码中删除 import grequests
时,文件会毫无问题地上传到 s3。
import sys, os, time
import grequests
import boto3, ntpath
我的代码中确实需要 grequests
和 boto3
。但是如果我想对 s3 使用 boto3 ,我不能导入 grequests
。
有什么办法可以防止这种行为吗?
看起来像是一个已知问题:https://github.com/spyoungtech/grequests/issues/123。
Github 线程中建议的解决方案包括更改导入顺序和使用替代库,如 https://pypi.org/project/fgrequests/。