如何让Python WebJob在Azure上运行

时间:2016-07-21 16:15:38

标签: python azure azure-sdk-python

我正在努力在Microsoft Azure上部署Python WorkerRole。有没有人成功地在Microsoft Azure上使用Python进程?

Microsoft似乎告诉人们,他们与Azure上的Python相关的文档已过时,请参阅https://azure.microsoft.com/en-us/documentation/articles/cloud-services-python-ptvs/#comment-2790110068https://github.com/Microsoft/PTVS/issues/1447

Microsoft员工告诉我,在部署WorkerRole时我需要安装自己的Python解释器。有人知道怎么做吗?

我的worker.py文件仅包含$print("in the worker".format(datetime.now()))

部署WorkerRole后,ConfigureCloudService.err和LaunchWorker.err中都出现以下错误。

gi : Cannot find path 'E:\approot\%INTERPRETERPATH%' because it does not     exist.
At E:\approot\bin\ConfigureCloudService.ps1:189 char:15
+ Set-Alias py (gi $interpreter_path -EA Stop)
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (E:\approot\%INTERPRETERPATH%:String) [Get-Item], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

1 个答案:

答案 0 :(得分:0)

@andrewkittredge,我认为你不需要在部署WorkerRole或WebJob之前手动安装Python环境,因为Python运行时已安装在Azure上,只需要在相关配置中指定或设置

根据article,你需要通过VS和PTVS创建一个工作点。然后,Install Python on the cloud service表示您需要在on文件中的启动任务上将Python变量设置为ServiceDefinition.csdef,如下所示。

<Variable name="PYTHON2" value="on" />

请参阅文章Common Cloud Service startup tasks以了解云服务的启动任务。

WorkerRole相比,我认为WebJobs更易于使用和部署,请参阅文章Run Background tasks with WebJobsDeploy WebJobs using Visual Studio