2

我在 Azure 上使用安装了 anaconda python 的数据科学虚拟机。

我需要使用以下方式访问模块 Azure 存储 blob:

from azure.storage.blob import BlockBlobService

处理此命令时,我收到azure.blob.storage未找到该模块的消息。我已强制更新模块azure-storage

pip install azure-storage --upgrade

缺少的模块出现在已安装的模块上,使用:

pip freeze

删除 Anaconda 并使用标准 Python 发行版后一切正常。

如何继续使用带有 azurestorage 支持的 Anaconda?有没有人尝试过这个问题并解决了它?

4

2 回答 2

2

数据科学虚拟机的 Linux 风格包括两个 Anaconda 环境:root,使用 Python 2.7,和 py35,使用 Python 3.5。你应该激活你想要的:

source activate py35

然后pippython都将引用相同的环境。

您可能需要以 root 身份运行pip来安装软件包。你可以做

sudo /anaconda/bin/pip

对于根环境,或

sudo /anaconda/envs/py35/bin/pip

对于 py35 环境。

于 2017-05-18T20:17:12.867 回答
0

在 Azure VM for Data Science 上有两个 Python 安装,包括系统级别和 Anaconda 级别。

正如@darthbith 所说,它显示了/usr/local/bin/pip运行命令时的路径which pip,属于系统级别。

您需要移动到 Anaconda 的路径bin并使用当前 Anaconda 的命令安装所需的模块./pip,如下所示使用 jupyter 终端。

# For example, using anaconda for Python 2
nbuser@nbserver:~$ cd anaconda2_20/bin
# Using the Anaconda pip to install modules
nbuser@nbserver:~/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为当前的 Anaconda 升级模块。

希望能帮助到你。

于 2016-11-18T08:22:45.020 回答