Install Azure Python api on linux: importError: No module named storage.blob


I'm trying to use the Azure Python API. I followed these installation instructions using

pip install azure

It had no issues. (I ran it again below just to show the message stating that it is installed. )

I want to upload to Storage as described here:

$ pip install azure
Requirement already satisfied (use --upgrade to upgrade): azure in ./lib/python2.7/azure-1.0.1-py2.7.egg
Requirement already satisfied (use --upgrade to upgrade): azure-storage==0.20.1 in ./lib/python2.7/azure_storage-0.20.1-py2.7.egg (from azure)

$ pip install azure-storage
Requirement already satisfied (use --upgrade to upgrade): azure-storage in ./lib/python2.7/azure_storage-0.20.1-py2.7.egg

$ python2.7
>>> import azure

/home/path/lib/python2.7/azure_nspkg-1.0.0-py2.7.egg/azure/ UserWarning: Module azure was already imported from 
/home/path/lib/python2.7/azure_nspkg-1.0.0-py2.7.egg/azure/__init__.pyc, but /home/path/lib/python2.7/azure_storage-0.20.1-py2.7.egg is being added to sys.path
>>> import azure # a second time just to try it. This time no msg.
>>> from import BlobService
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named storage.blob

If you only need azure-storage you should be able to install just that package. If you need storage and other aspects of Azure, then you can just install azure and that will grab everything including storage. No need for both installs.

Particularly if you had an older version of Azure installed before there can be issues with how the dependencies link up. Give pip uninstall azure and pip uninstall azure-storage a try and if you're feeling particularly thorough delete anything prefixed with azure in your python lib folder. Then install just what you need per the first paragraph.