Я не могу запустить boto3 в Ubuntu 18.04 (AWS), изначально я думал, что код не работает, но это может быть сама установка?
ubuntu@ip-172-30-10-199:~$ sudo -H pip3 install boto3
Requirement already satisfied: boto3 in /usr/lib/python3/dist-packages
ubuntu@ip-172-30-10-199:~$ sudo -H pip3 install botocore
Requirement already satisfied: botocore in /usr/lib/python3/dist-packages
ubuntu@ip-172-30-10-199:~$ python3 --version
**Python 3.6.9**
ubuntu@ip-172-30-10-199:~$ sudo apt-get install python3-boto3
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-boto3 is already the newest version (1.4.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
ubuntu@ip-172-30-10-199:~$
s3_list.py file:
import boto3
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)
Запуск кода.
ubuntu@ip-172-30-10-199:~$ python3 s3_list.py
Traceback (most recent call last):
File "s3_list.py", line 4, in <module>
s3 = boto3.resource('s3')
File "/home/ubuntu/boto3/__init__.py", line 100, in resource
return _get_default_session().resource(*args, **kwargs)
File "/home/ubuntu/boto3/session.py", line 389, in resource
aws_session_token=aws_session_token, config=config)
File "/home/ubuntu/boto3/session.py", line 263, in client
aws_session_token=aws_session_token, config=config)
File "/home/ubuntu/botocore/session.py", line 835, in create_client
client_config=config, api_version=api_version)
File "/home/ubuntu/botocore/client.py", line 79, in create_client
cls = self._create_client_class(service_name, service_model)
File "/home/ubuntu/botocore/client.py", line 109, in _create_client_class
base_classes=bases)
File "/home/ubuntu/botocore/hooks.py", line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "/home/ubuntu/botocore/hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "/home/ubuntu/botocore/hooks.py", line 211, in _emit
response = handler(**kwargs)
File "/home/ubuntu/boto3/utils.py", line 61, in _handler
module = import_module(module)
File "/home/ubuntu/boto3/utils.py", line 52, in import_module
__import__(name)
File "/home/ubuntu/boto3/s3/inject.py", line 15, in <module>
from boto3.s3.transfer import create_transfer_manager
File "/home/ubuntu/boto3/s3/transfer.py", line 127, in <module>
from s3transfer.exceptions import RetriesExceededError as \
File "/home/ubuntu/s3transfer/__init__.py", line 134, in <module>
import concurrent.futures
File "/home/ubuntu/concurrent/futures/__init__.py", line 8, in <module>
from concurrent.futures._base import (FIRST_COMPLETED,
File "/home/ubuntu/concurrent/futures/_base.py", line 414
raise exception_type, self._exception, self._traceback
^
SyntaxError: invalid syntax
ubuntu@ip-172-30-10-199:~$
У меня есть файл ~ / .aws / credentials, содержащий соответствующие ключи. Я использую эти же клавиши для доступа к корзине с моего ноутбука (S3 Browser).