botocore-a-la-carte is a re-packaging of botocore such that each service's data JSON exists in a
separate package, and are opted-into through package extras.
The package botocore-a-la-carte contains the base code/resources for botocore to operate, and has
a package extra per service (referencing a package which contains just the JSON data for that service).
sys.path.
This is a limitation of the core botocore package and the Python packaging ecosystem.
Example:
botocore-a-la-carte with no extras allows you to use core botocore functionality
(e.g. load credentials, sign requests, etc...).
$ pip install botocore-a-la-carte
...
$ python
>>> import botocore
...If you require specific service support, specify the service names as an extras:
$ pip install botocore-a-la-carte[s3, ec2]
...
$ python
>>> import botocore.session
>>> session = botocore.session.get_session()
>>> client = session.create_client('ec2')
>>> print(client.describe_instances())