Webjobs 运行 来自 zipfile 的错误(3587fd:ERR)

Webjobs Running Error (3587fd: ERR ) from zipfile

我在名为 fgh.py 的文件中有以下小脚本,我一直试图将其安排为网络作业

import pandas as pd

df=pd.DataFrame({'a':[1,2,2],'b':[5,6,9]})

df['x']=df.a.sub(df.b)

print(df)

使用@Peter Pan 。我创建了一个虚拟环境,做了一个pip install pandas。在虚拟环境中,脚本 运行s 并作为 required.It 执行,但是在 Azure Webjobs 中加载时不执行。我怀疑问题出在 运行、bat 文件和 Azure python 控制台之间的接口,但对 Azure 的了解有限,无法解决问题

在kudus中,我用这个安装了python。

运行 where pythoncmd 命令中 https://myapp.scm.azurewebsites.net/DebugConsole 我得到;

另外从 https://arcgistrial.scm.azurewebsites.net/DebugConsole 我在 运行 cmd 命令 python -V 时得到以下信息

在我的 run.bat 文件中,我曾尝试使用上述任一目录但均未成功。

无论我将 run.bat 文件设为 D:\home\python364x64\python.exe fgh.py 还是 D:python364x64\python.exe fgh.py,我都会收到以下错误;

我已经开始安装 pandas 并通过尝试安装 numpy 检查是否成功

这一切都没有帮助。我已经在这上面工作了几天,它必须以某种方式工作。有帮助吗?

解决问题的关键是你需要在azure上创建你的venv环境

第 1 步。运行 在本地成功。

第 2 步。压缩您的网络作业文件。

第 3 步。上传 webjob zip 文件。

因为测试环境之前有python1,后面会创建一个python2的webjob

第四步,登录kudu。

cd ..

②找到Python34,点击

python -m venv D:\home\site\wwwroot\App_Data\jobs\continuous\python2\myenv

④ 找到myenv文件夹

⑤激活myenv,输入.\activate.bat.

D:\home\site\wwwroot\App_Data\jobs\continuous\python2\myenv\Scripts>.\activate.bat

⑥ 回到python2文件夹,输入pip install pandas.

⑦ 然后输入python aa.py.

(在旧的 Webjobs 中,事情并不是很简单 运行 python 具有依赖关系的任务。已经有一段时间了,世界已经转向 Azure Function :))

但是,由于您仍然需要坚持使用 Webjobs,下面是我遵循的有效步骤。由于 pre-requisites.

,我正在使用批处理文件 (.cmd) 运行 python 脚本
  1. webjob 目前默认支持 python 2.7。因此,在您的 Web 应用程序中添加 'extension' 中的 python3,在本例中,它对我来说是 3.6.4 x64。这将添加路径 D:\home\python364x64\。我怎么知道的? Kudus 控制台 :)

  1. 创建一个包含 pandasnumpyrequirements.txt 文件(注意我必须明确添加 numpy 版本 1.19.3,因为 an issue 最新版本为 1.19.4在撰写本文时在 Windows 主机中)。基本上我使用了你的 fgh.py,它依赖于 pandas,而 pandas 又依赖于 numpy
pandas==1.1.4
numpy==1.19.3
  1. 创建具有以下内容的 run.cmd 文件。注意第一行不是必需的。我只是在检查 python 版本。
D:\home\python364x64\python --version
D:\home\python364x64\python -m pip install --user --upgrade pip
D:\home\python364x64\python -m pip install --user certifi
D:\home\python364x64\python -m pip install --user virtualenv
D:\home\python364x64\python -m virtualenv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python fgh.py
  1. fgh.pyrun.batrequirements.txt 文件压缩到一个 zip 文件中。以下是我的 zip 的内容。

  1. 上传网络作业的 zip。
  2. 运行 工作:)

忽略错误“ModuleNotFoundError:没有名为 'certifi' 的模块”,不需要。