2016-02-22 20 views
7

Siamo in grado di importare azure.storage, ma non accedere all'attributo BlobServiceCome importare Azure BlobService in python?

La documentazione dice di usare la seguente istruzione import:

from azure.storage import BlobService 

Ma che ottenere è il seguente errore:

ImportError: cannot import name BlobService 

Abbiamo provato la seguente:

import azure.storage 
... 
foo = azure.storage.BlobService(...) 

Ma quello ricevuto il seguente errore:

AttributeError: ‘module’ object has no attribute ‘BlobService’ 

Abbiamo anche provato tutto quanto sopra con "azure.storage.blob" invece di "azure.storage"

Noi cerchiamo aggiornamento pacchetto azzurro-storage ma è aggiornato (versione 0.30.0)

Abbiamo anche provato a disinstallare l'archiviazione in azzurro e installare l'intero pacchetto azzurro, ma abbiamo ottenuto gli stessi risultati. Abbiamo provato a installarli sia con pip che con conda, ma gli stessi risultati entrambe le volte.

Sono consapevole che l'output suggerisce che questa versione di azure.storage non ha attributo BlobService, ma la documentazione afferma chiaramente di importare da lì.

https://azure.microsoft.com/en-us/documentation/articles/machine-learning-data-science-create-features-blob/

+0

Testare il codice su Windows o Linux? E hai provato a utilizzare l'ambiente virtuale https://azure.microsoft.com/en-us/documentation/articles/web-sites-python-create-deploy-django-app/#troubleshooting---virtual-environment? –

+0

Sto utilizzando Windows 10 VM su Macbook Pro da 15 pollici usando Parallels Desktop. Sto usando un ambiente virtuale Anaconda, che è stato elencato nella [documentazione] (https://azure.microsoft.com/en-gb/documentation/articles/python-how-to-install/#where-to-get- python) come una delle distribuzioni python accettabili. Proverò una distribuzione diversa per vedere se qualcosa cambia – user3664942

+0

nuova documentazione di archiviazione di Azure è disponibile qui: https://media.readthedocs.org/pdf/azure-storage/latest/azure-storage.pdf –

risposta

14

ya, se si desidera utilizzare BlobService, è possibile installare il pacchetto azure.storage 0.20.0, c'è BlobService in quella versione. Nell'ultimo azure.storage 0.30.0, BlobSrvice è diviso nell'oggetto BlockBlobService, AppendBlobService, PageBlobService, è possibile utilizzare BlockBlobService sostituire BlobService. Ci sono molti articoli che devono aggiornare il contenuto.

+1

pip install azure-storage == 0.20.0 – user984003

6

E 'possibile la biblioteca è cambiato da quel tutorial è stato pubblicato, ma ...

Ho appena provato questo poco fa, con successo:

from azure.storage.blob import BlockBlobService 

blob_service = BlockBlobService(account_name="...",account_key="...") 

E ho installato Archiviazione di Azure localmente tramite:

pip install azure-storage 

Sono stato in grado di testare questa scaricando un oggetto da stoccaggio:

blob_service.get_blob_to_path("containername","blobname","localfilename") 

Nota: è possibile importare PageBlobService in modo simile, ma si potrebbe non trovare che troppo prezioso, dal momento che di pagina macchie sono in primo luogo per VHD.

+1

Questo è corretto. Lo 0.30.0 è stato rilasciato la scorsa settimana per [questo annuncio] (https://github.com/Azure/azure-storage-python/issues/132). Esiste un tutorial completamente aggiornato sull'uso dei BLOB [qui] (https://azure.microsoft.com/en-us/documentation/articles/storage-python-how-to-use-blob-storage/). Il tutorial che hai guardato sembra essere nelle versioni pre-0.20.0, quindi se vuoi usarlo esattamente come scritto dovrai regredire abbastanza lontano. Seguo con i suoi scrittori per vedere se possono aggiornarlo. –

1

Ho avuto lo stesso problema dopo aver usato pip per installare il pacchetto azzurro e, come suggerisce la risposta scelta, questo può essere risolto installando azure.storage 0.33.0.

Tuttavia, se si sta utilizzando pip, potrebbe essere necessario usare l'opzione "--upgrade" per poter installare correttamente (questa è stata la mia esperienza):

pip install azure-storage --upgrade 
2

ho avuto la versione 1.0.3 installato (che include l'azzurro.memoria versione 0.20) su Ubuntu server 16.04 LTS e pip ha reinstallato solo la versione 0.20 di azure.storage quando ho disinstallato e reinstallato il pacchetto azzurro. Questo è stato secondo la pagina PyPI per il pacchetto azzurro v. 2.0.0rc6 che raccomanda che per l'aggiornamento da 1.0.3 alla versione 2 si dovrebbe fare

sudo pip3 uninstall azure 
sudo pip3 install azure 

pypi/azure

Invece, questo ha funzionato per me,

sudo pip3 uninstall azure 
sudo pip3 install azure==2.0.0rc6