This is wrong:
|
transport = kwargs.pop("transport", RequestsTransport(**kwargs)) |
This overrides the default transport that azure-core is providing, KV should trust azure-core to provide a transport in absence of the kwarg.
If requests is not installed on the machine, the import will be lazy loaded so it won't fail at import time, but at runtime the RequestsTransport will be interpreted before the kwargs.pop is read, and will crash KV. See this repro:

Talk to me if it's unclear :)
This is wrong:
azure-sdk-for-python/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/client_base.py
Line 62 in 93a12a9
This overrides the default transport that azure-core is providing, KV should trust azure-core to provide a transport in absence of the kwarg.
If
requestsis not installed on the machine, the import will be lazy loaded so it won't fail at import time, but at runtime theRequestsTransportwill be interpreted before thekwargs.popis read, and will crash KV. See this repro:Talk to me if it's unclear :)