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 python
在 cmd
命令中 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 脚本
- webjob 目前默认支持 python 2.7。因此,在您的 Web 应用程序中添加 'extension' 中的 python3,在本例中,它对我来说是 3.6.4 x64。这将添加路径
D:\home\python364x64\
。我怎么知道的? Kudus 控制台 :)
- 创建一个包含
pandas
和 numpy
的 requirements.txt
文件(注意我必须明确添加 numpy 版本 1.19.3,因为 an issue 最新版本为 1.19.4在撰写本文时在 Windows 主机中)。基本上我使用了你的 fgh.py
,它依赖于 pandas
,而 pandas
又依赖于 numpy
。
pandas==1.1.4
numpy==1.19.3
- 创建具有以下内容的
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
- 将
fgh.py
、run.bat
和 requirements.txt
文件压缩到一个 zip 文件中。以下是我的 zip 的内容。
- 上传网络作业的 zip。
- 运行 工作:)
忽略错误“ModuleNotFoundError:没有名为 'certifi' 的模块”,不需要。
我在名为 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中,我用这个
运行 where python
在 cmd
命令中 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 脚本- webjob 目前默认支持 python 2.7。因此,在您的 Web 应用程序中添加 'extension' 中的 python3,在本例中,它对我来说是 3.6.4 x64。这将添加路径
D:\home\python364x64\
。我怎么知道的? Kudus 控制台 :)
- 创建一个包含
pandas
和numpy
的requirements.txt
文件(注意我必须明确添加 numpy 版本 1.19.3,因为 an issue 最新版本为 1.19.4在撰写本文时在 Windows 主机中)。基本上我使用了你的fgh.py
,它依赖于pandas
,而pandas
又依赖于numpy
。
pandas==1.1.4
numpy==1.19.3
- 创建具有以下内容的
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
- 将
fgh.py
、run.bat
和requirements.txt
文件压缩到一个 zip 文件中。以下是我的 zip 的内容。
- 上传网络作业的 zip。
- 运行 工作:)
忽略错误“ModuleNotFoundError:没有名为 'certifi' 的模块”,不需要。