Web 作业上的 Python 库

beg*_*lla 5 python azure anaconda azure-webjobs

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

我开始只是测试一个简单的 Azure blob 到 blob 文件副本,该副本在本地运行时可以工作,但"ImportError: No module named 'azure'"在 WebJob 中运行时遇到错误。

示例代码:

    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)
Run Code Online (Sandbox Code Playgroud)

我什至无法运行 Azure SDK 库。更不用说 Anaconda 的了

如何运行需要外部库(例如 Anaconda(甚至 Azure SDK))的 python 脚本。如何为 WebJob“pip install”这些东西?

Jay*_*ong 5

您似乎已经了解 Azure WebJobs 的部署,我提供了以下步骤来展示如何在 Python 脚本中加载外部库。

第一步:使用virtualenv组件在你的系统中创建一个独立的python运行环境,pip install virtualenv 如果没有请先用命令安装。

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

在此处输入图片说明

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

在此处输入图片说明

第三步:然后进入创建目录的Scripts文件夹并激活(这一步很重要,不要错过

在此处输入图片说明

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

在此处输入图片说明

第四步,将Sample.py统一压缩到你依赖的Libs/site-packages文件夹下的libs包所在的文件夹中。

在此处输入图片说明

第五步:在Web应用服务中创建webjob并上传zip文件,然后你就可以执行你的Web Job并查看日志

在此处输入图片说明

您还可以参考 SO 线程:在 Azure 中运行 Python 脚本的选项

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

希望对你有帮助。

  • 我发现了问题!... Azure WebJob 仅支持 2.7 / 3.4 32 位版本...一旦我使用正确的版本重新执行虚拟环境,它就可以工作了。[LINK](https://blogs.msdn.microsoft.com/pythonengineering/2016/08/04/upgrading-python-on-azure-app-service/) 这个链接也有助于解释原因。谢谢杰 (2认同)