Azure / azure-sdk-for-python

This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.
MIT License
4.61k stars 2.82k forks source link

ImportError: cannot import name 'KeyVault' #13359

Closed AkhilA4 closed 4 years ago

AkhilA4 commented 4 years ago
database001-01:/home/azureuser # python
Python 2.7.13 (default, Jan 11 2017, 10:56:06) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import azure.keyvault
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named keyvault
>>> import azure.keyvault.secrets
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named keyvault.secrets
>>> import azure.keyvault.secret
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named keyvault.secret
>>> exit()

We ran into a similar issue: https://github.com/Azure/azure-sdk-for-python/issues/8591 and then upgarded the azure-keyvault to 4.1.0. Tried importing the azure.keyvault but running into the importError. We need SecretClient library for accessing our key vault which should be imported from azure.keyvault.secrets. We used this documentation for reference: key vault documentation.

Here is the list of packages we installed

database001-01:/home/azureuser # pip freeze | grep azure
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
azure==4.0.0
azure-applicationinsights==0.1.0
azure-batch==4.1.3
azure-common==1.1.25
azure-core==1.8.0
azure-cosmosdb-nspkg==2.0.2
azure-cosmosdb-table==1.0.6
azure-datalake-store==0.0.48
azure-eventgrid==1.3.0
azure-graphrbac==0.40.0
azure-identity==1.4.0
azure-keyvault==4.1.0
azure-keyvault-certificates==4.2.0
azure-keyvault-keys==4.2.0
azure-keyvault-nspkg==1.0.0
azure-keyvault-secrets==4.2.0
azure-loganalytics==0.1.0
azure-mgmt==4.0.0
azure-mgmt-advisor==1.0.1
azure-mgmt-applicationinsights==0.1.1
azure-mgmt-authorization==0.50.0
azure-mgmt-batch==5.0.1
azure-mgmt-batchai==2.0.0
azure-mgmt-billing==0.2.0
azure-mgmt-cdn==3.1.0
azure-mgmt-cognitiveservices==3.0.0
azure-mgmt-commerce==1.0.1
azure-mgmt-compute==4.6.2
azure-mgmt-consumption==2.0.0
azure-mgmt-containerinstance==1.5.0
azure-mgmt-containerregistry==2.8.0
azure-mgmt-containerservice==4.4.0
azure-mgmt-cosmosdb==0.4.1
azure-mgmt-datafactory==0.6.0
azure-mgmt-datalake-analytics==0.6.0
azure-mgmt-datalake-nspkg==3.0.1
azure-mgmt-datalake-store==0.5.0
azure-mgmt-datamigration==1.0.0
azure-mgmt-devspaces==0.1.0
azure-mgmt-devtestlabs==2.2.0
azure-mgmt-dns==2.1.0
azure-mgmt-eventgrid==1.0.0
azure-mgmt-eventhub==2.6.0
azure-mgmt-hanaonazure==0.1.1
azure-mgmt-iotcentral==0.1.0
azure-mgmt-iothub==0.5.0
azure-mgmt-iothubprovisioningservices==0.2.0
azure-mgmt-keyvault==1.1.0
azure-mgmt-loganalytics==0.2.0
azure-mgmt-logic==3.0.0
azure-mgmt-machinelearningcompute==0.4.1
azure-mgmt-managementgroups==0.1.0
azure-mgmt-managementpartner==0.1.1
azure-mgmt-maps==0.1.0
azure-mgmt-marketplaceordering==0.1.0
azure-mgmt-media==1.0.0
azure-mgmt-monitor==0.5.2
azure-mgmt-msi==0.2.0
azure-mgmt-network==2.7.0
azure-mgmt-notificationhubs==2.1.0
azure-mgmt-nspkg==3.0.2
azure-mgmt-policyinsights==0.1.0
azure-mgmt-powerbiembedded==2.0.0
azure-mgmt-rdbms==1.9.0
azure-mgmt-recoveryservices==0.3.0
azure-mgmt-recoveryservicesbackup==0.3.0
azure-mgmt-redis==5.0.0
azure-mgmt-relay==0.1.0
azure-mgmt-reservations==0.2.1
azure-mgmt-resource==2.2.0
azure-mgmt-scheduler==2.0.0
azure-mgmt-search==2.1.0
azure-mgmt-servicebus==0.5.3
azure-mgmt-servicefabric==0.2.0
azure-mgmt-signalr==0.1.1
azure-mgmt-sql==0.9.1
azure-mgmt-storage==2.0.0
azure-mgmt-subscription==0.2.0
azure-mgmt-trafficmanager==0.50.0
azure-mgmt-web==0.35.0
azure-nspkg==3.0.2
azure-servicebus==0.21.1
azure-servicefabric==6.3.0.0
azure-servicemanagement-legacy==0.20.7
azure-storage-blob==1.5.0
azure-storage-common==1.4.2
azure-storage-file==1.4.0
azure-storage-nspkg==3.1.0
azure-storage-queue==1.4.0
msrestazure==0.6.3
tdc-azure-all==8.1.0
tdc-azure-misc==2.0.0

Could someone please help us.

iscai-msft commented 4 years ago

@AkhilA4 it has to do with the fact that you have the "azure" and "azure-keyvault" modules installed as well. Actually, when I went to install "azure-keyvault", pip threw an error (though it stil installed 4.1.0) that azure requires "azure-keyvault" version ~=1.0. I tried removing the "azure" and "azure-keyvault" modules, but that doesn't appear to be enough to clear it up. My solution is to create a new virtual environment, and just install "azure-keyvault-certificates", "azure-keyvault-secrets", and "azure-keyvault-keys", i.e. pip install azure-keyvault-keys azure-keyvault-secrets azure-keyvault-certificates (assuming you want all of the keyvault libraries)

AkhilA4 commented 4 years ago

@iscai-msft , thanks for the response. We decided to stick with the azure-keyvault version 1.1.0 for now and we are able to import keyVaultClient comfortably. Closing the issue.