我在Azure上使用安装了anaconda python的Data Science虚拟机。
我需要使用以下方法访问模块Azure存储blob:
from azure.storage.blob import BlockBlobService
处理此命令时,我收到的消息是找不到模块azure.blob.storage
。我强制更新模块azure-storage
:
pip install azure-storage --upgrade
缺少的模块使用以下方式出现在已安装的模块上:
pip freeze
删除Anaconda并使用标准的Python发行版后,一切运行良好。
如何在azurestorage支持下继续使用Anaconda?有人试过这个问题并解决了吗?
答案 0 :(得分:2)
数据科学虚拟机的Linux风格包括两个Anaconda环境:root,使用Python 2.7,py35,使用Python 3.5。你应该激活你想要的那个:
source activate py35
然后pip 和 python 将引用相同的环境。
您可能需要以root身份运行 pip 来安装软件包。你可以用
sudo /anaconda/bin/pip
用于根环境,或
sudo /anaconda/envs/py35/bin/pip
用于py35环境。
答案 1 :(得分:0)
Azure VM for Data Science上有两个Python安装,包括系统级别和安装。蟒蛇水平。
正如@darthbith所说,当你运行属于系统级别的命令/usr/local/bin/pip
时,它会显示路径which pip
。
您需要移动到Anaconda的路径bin
并使用./pip
命令为当前的Anaconda安装所需的模块,如下所示使用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)
.....
然后为当前的Anaconda升级azure-storgae
模块。
希望它有所帮助。