2017-08-24 67 views
0

我的目标是运行一个在Azure WebJob上使用Anaconda库(例如Pandas)的python脚本,但似乎无法弄清楚如何加载库。Web作业上的Python库

我开始只是通过测试一个简单的蓝色blob blob文件副本,它在本地运行时工作,但在WebJob中运行时遇到错误“ImportError:No module named'azure'”。

示例代码:

from azure.storage.blob import BlockBlobService 
blobAccountName = <name> 
blobStorageKey = <key> 
containerName = <containername> 
blobService = BlockBlobService(account_name=blobAccountName, 
account_key=blobStorageKey) 
blobService.set_container_acl(containerName) 
b = blobService.get_blob_to_bytes(containerName, 'file.csv') 
blobService.create_blob_from_bytes(containerName, 'file.csv', b.content) 

正如你所看到的,我甚至不能Azure的SDK库运行......更不用说狂蟒之灾:-(

因此,我将不胜感激,如果有人能够引导我一步一步...

如何运行,需要外部库,如蟒蛇(甚至Azure的SDK)一个Python脚本。我怎么“PIP安装”这些东西对于一个WebJob?

谢谢!

回答

1

看起来你已经知道Azure WebJobs的部署了,我提供以下步骤来展示如何在python脚本中加载外部库。

步骤1: 使用的virtualenv组件来创建你的system.Please一个独立的Python运行时环境命令pip install virtualenv先安装它,如果你没有它。

如果您安装成功,您可以在您的python /脚本文件中看到它。

enter image description here

第二步:运行commad创建独立的Python运行时环境。

enter image description here

第3步:然后进入创建的目录的脚本文件夹,并激活它(这一步是很重要的,千万不要错过哦

enter image description here

请不要关闭此命令窗口并使用pip install <your libraryname>在此命令窗口中下载外部库。

enter image description here

第4步:保持Sample.py均匀压缩到一个文件夹在你依靠利布斯/站点包文件夹中的库包。

enter image description here

步骤5: 创建的Web应用程序服务webjob并上传zip文件,那么你可以执行你的Web作业并检查日志

enter image description here

您也可以参考SO线程:Options for running Python scripts in Azure

另外,如果您想使用Anaconda中的模块,请单独下载它们。无需下载整个库。

希望它可以帮助你。

+0

感谢您的帮助!...我尝试了以下步骤..在我的G:驱动器中创建了PythonSandbox ... pip安装Azure并将其压缩。不幸的是,我仍然遇到了一个错误,这次在D:\ local \ temp \ jobs..i在这里捕获了图像[Inline Link](http://imgur.com/a/Gtj2D):-( – ianch

+0

@ianch It似乎外部库已经在你的WebJob中,取决于你提供的异常日志信息,我找不到具体的错误异常,请你显示关于错误日志的更多细节? –

+0

当然Jay,这里是完整的错误日志。 .. [LINK](http://imgur.com/PjT3Chi) – ianch