2016-11-14 186 views
2

我使用Azure上的一個數據科學虛擬機已安裝的蟒蛇蟒蛇Azure的存儲。的Python蟒蛇和模塊

我需要使用訪問模塊Azure存儲BLOB:

from azure.storage.blob import BlockBlobService 

當與此命令處理我收到模塊azure.blob.storage沒有找到消息。我已經迫使更新模塊azure-storage

pip install azure-storage --upgrade 

缺少的模塊,而不是存在於使用已安裝的模塊:

pip freeze 

去除蟒蛇,並使用標準的Python發行一切正常後。

我怎樣才能繼續使用蟒蛇與azurestorage支持?有沒有人試驗過這個問題並解決了它?

+0

您需要確保使用與Anaconda安裝相關的pip版本。 '哪個點子的輸出是什麼? – darthbith

回答

0

Python目前有在Azure虛擬機的數據科學,其中包括系統級&蟒蛇二級安裝。

正如@darthbith所說,它顯示路徑/usr/local/bin/pip當您運行命令which pip,這是屬於系統級別。

您需要移動到Anaconda的路徑bin並使用./pip命令安裝當前Anaconda所需的模塊,如下所示使用jupyter終端。

# For example, using anaconda for Python 2 
[email protected]:~$ cd anaconda2_20/bin 
# Using the Anaconda pip to install modules 
[email protected]:~/anaconda2_20/bin$ ./pip install azure-storage --upgrade 
# Then see the content below 
Collecting azure-storage                             
    Downloading azure_storage-0.33.0-py2-none-any.whl (182kB)                    
    100% |################################| 184kB 2.9MB/s                     
Collecting requests (from azure-storage)                         
    Downloading requests-2.12.1-py2.py3-none-any.whl (574kB)                     
    100% |################################| 583kB 1.7MB/s                     
Requirement already up-to-date: azure-nspkg in /home/nbcommon/anaconda2_20/lib/python2.7/site-packages (from azure-storage)    
Requirement already up-to-date: azure-common in /home/nbcommon/anaconda2_20/lib/python2.7/site-packages (from azure-storage)    
Requirement already up-to-date: futures in /home/nbcommon/anaconda2_20/lib/python2.7/site-packages (from azure-storage)     
Collecting cryptography (from azure-storage)                        
    Downloading cryptography-1.5.3.tar.gz (400kB) 
..... 

然後azure-storgae模塊進行升級當前阿納康達。

希望它有幫助。

2

數據科學虛擬機的Linux版本包括兩個蟒蛇環境:根,與Python 2.7和py35,與Python 3.5。您應該激活您想要的:

source activate py35 

PIP蟒蛇然後將它們指的是相同的環境。

您可能需要以root身份運行pip以安裝軟件包。你可以用

sudo /anaconda/bin/pip 

根環境,或

sudo /anaconda/envs/py35/bin/pip 

爲py35環境做。