s4cmd
s4cmd copied to clipboard
s4cmd: avoid AttributeError on newer botocore
Newer botocore has removed vendored entirely; try to import carefully. Makes s4cmd work again on botocore-1.29.84.
Traceback (most recent call last):
File "/usr/lib/python-exec/python3.10/s4cmd", line 33, in <module>
sys.exit(load_entry_point('s4cmd==2.1.0', 'console_scripts', 's4cmd')())
File "/usr/lib/python-exec/python3.10/s4cmd", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib64/python-exec/python3.10/s4cmd.py", line 255, in <module>
class BotoClient(object):
File "/usr/lib64/python-exec/python3.10/s4cmd.py", line 274, in BotoClient
botocore.vendored.requests.packages.urllib3.exceptions.ReadTimeoutError,
AttributeError: module 'botocore' has no attribute 'vendored'
Signed-off-by: Robin H. Johnson [email protected]