Boto3: ImportError: cannot import name NonThreadedExecutor

Created on 22 Feb 2017  路  4Comments  路  Source: boto/boto3

I've just installed boto3 from pip (OSX El captain):

pip install boto3 --user

The following version have been installed:

$ pip freeze | grep boto
boto3==1.4.4
botocore==1.4.49

While trying this simple example, I am getting the following stack trace:

In [26]: import boto3

In [27]: client = boto3.client('s3')
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-27-72c6788a933a> in <module>()
----> 1 client = boto3.client('s3')

/Users/fsantos/Library/Python/2.7/lib/python/site-packages/boto3/__init__.pyc in client(*args, **kwargs)
     81     See :py:meth:`boto3.session.Session.client`.
     82     """
---> 83     return _get_default_session().client(*args, **kwargs)
     84 
     85 

/Users/fsantos/Library/Python/2.7/lib/python/site-packages/boto3/session.pyc in client(self, service_name, region_name, api_version, use_ssl, verify, endpoint_url, aws_access_key_id, aws_secret_access_key, aws_session_token, config)
    261             aws_access_key_id=aws_access_key_id,
    262             aws_secret_access_key=aws_secret_access_key,
--> 263             aws_session_token=aws_session_token, config=config)
    264 
    265     def resource(self, service_name, region_name=None, api_version=None,

/Library/Python/2.7/site-packages/botocore/session.pyc in create_client(self, service_name, region_name, api_version, use_ssl, verify, endpoint_url, aws_access_key_id, aws_secret_access_key, aws_session_token, config)
    822             is_secure=use_ssl, endpoint_url=endpoint_url, verify=verify,
    823             credentials=credentials, scoped_config=self.get_scoped_config(),
--> 824             client_config=config, api_version=api_version)
    825         return client
    826 

/Library/Python/2.7/site-packages/botocore/client.pyc in create_client(self, service_name, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, api_version, client_config)
     60                       client_config=None):
     61         service_model = self._load_service_model(service_name, api_version)
---> 62         cls = self._create_client_class(service_name, service_model)
     63         endpoint_bridge = ClientEndpointBridge(
     64             self._endpoint_resolver, scoped_config, client_config,

/Library/Python/2.7/site-packages/botocore/client.pyc in _create_client_class(self, service_name, service_model)
     82         self._event_emitter.emit('creating-client-class.%s' % service_name,
     83                                  class_attributes=class_attributes,
---> 84                                  base_classes=bases)
     85         class_name = get_service_module_name(service_model)
     86         cls = type(str(class_name), tuple(bases), class_attributes)

/Library/Python/2.7/site-packages/botocore/hooks.pyc in emit(self, event_name, **kwargs)
    225                  handlers.
    226         """
--> 227         return self._emit(event_name, kwargs)
    228 
    229     def emit_until_response(self, event_name, **kwargs):

/Library/Python/2.7/site-packages/botocore/hooks.pyc in _emit(self, event_name, kwargs, stop_on_response)
    208         for handler in handlers_to_call:
    209             logger.debug('Event %s: calling handler %s', event_name, handler)
--> 210             response = handler(**kwargs)
    211             responses.append((handler, response))
    212             if stop_on_response and response is not None:

/Users/fsantos/Library/Python/2.7/lib/python/site-packages/boto3/utils.pyc in _handler(**kwargs)
     59     def _handler(**kwargs):
     60         module, function_name = full_name.rsplit('.', 1)
---> 61         module = import_module(module)
     62         kwargs.update(parent_kwargs)
     63         return getattr(module, function_name)(**kwargs)

/Users/fsantos/Library/Python/2.7/lib/python/site-packages/boto3/utils.pyc in import_module(name)
     50 
     51     """
---> 52     __import__(name)
     53     return sys.modules[name]
     54 

/Users/fsantos/Library/Python/2.7/lib/python/site-packages/boto3/s3/inject.py in <module>()
     13 from botocore.exceptions import ClientError
     14 
---> 15 from boto3.s3.transfer import create_transfer_manager
     16 from boto3.s3.transfer import TransferConfig, S3Transfer
     17 from boto3.s3.transfer import ProgressCallbackInvoker

/Users/fsantos/Library/Python/2.7/lib/python/site-packages/boto3/s3/transfer.py in <module>()
    129 from s3transfer.manager import TransferConfig as S3TransferConfig
    130 from s3transfer.manager import TransferManager
--> 131 from s3transfer.futures import NonThreadedExecutor
    132 from s3transfer.subscribers import BaseSubscriber
    133 from s3transfer.utils import OSUtils

ImportError: cannot import name NonThreadedExecutor
closing-soon

Most helpful comment

Resolved after upgrading the package s3transfer from 0.1.2 to 0.1.10.
Thanks

All 4 comments

@skylazart What version of s3transfer are you using? I have a feeling you will need to upgrade that 0.10.0 as it is listed in the setup.py

Version:

pip freeze | grep s3transfer
s3transfer==0.1.2

Situation resolved after upgrading to 0.1.10:
Thanks

Resolved after upgrading the package s3transfer from 0.1.2 to 0.1.10.
Thanks

Using python2-s3transfer.noarch 0.1.10-2.fc26 @fedora

and this problem still appears, someone an idea how to solve it?

Was this page helpful?
0 / 5 - 0 ratings