繁体   English   中英

Azure - numpy - OSError:[WinError 193]%1不是有效的Win32应用程序

[英]Azure - numpy - OSError: [WinError 193] %1 is not a valid Win32 application

我正在尝试使用Azure定期运行Python脚本。 按照这里的步骤,我在Web App中创建了一个WebJob。 我已经上传了包含我的Python脚本和这些模块的 .zip文件夹到WebJob。

我的代码非常简单:

import pandas as pd

A = [1,2,3,4]
B = ['a','b','c','d']

df = pd.DataFrame({'a':A,'b':B})

print(df)

在运行WebJob时,我收到以下错误:

[06/17/2019 16:48:27 > e6e459: SYS INFO] Status changed to Initializing
[06/17/2019 16:49:01 > e6e459: SYS INFO] Run script 'Test12.py' with script host - 'PythonScriptHost'
[06/17/2019 16:49:01 > e6e459: SYS INFO] Status changed to Running
[06/17/2019 16:49:01 > e6e459: ERR ] Traceback (most recent call last):
[06/17/2019 16:49:01 > e6e459: ERR ]   File "Test12.py", line 1, in <module>
[06/17/2019 16:49:01 > e6e459: ERR ]     import pandas as pd
[06/17/2019 16:49:01 > e6e459: ERR ]   File "D:\local\Temp\jobs\triggered\Test12\2bjz15ce.qpm\pandas\__init__.py", line 13, in <module>
[06/17/2019 16:49:01 > e6e459: ERR ]     __import__(dependency)
[06/17/2019 16:49:01 > e6e459: ERR ]   File "D:\local\Temp\jobs\triggered\Test12\2bjz15ce.qpm\numpy\__init__.py", line 142, in <module>
[06/17/2019 16:49:01 > e6e459: ERR ]     from . import core
[06/17/2019 16:49:01 > e6e459: ERR ]   File "D:\local\Temp\jobs\triggered\Test12\2bjz15ce.qpm\numpy\core\__init__.py", line 23, in <module>
[06/17/2019 16:49:01 > e6e459: ERR ]     WinDLL(os.path.abspath(filename))
[06/17/2019 16:49:01 > e6e459: ERR ]   File "D:\Python34\lib\ctypes\__init__.py", line 348, in __init__
[06/17/2019 16:49:01 > e6e459: ERR ]     self._handle = _dlopen(self._name, mode)
[06/17/2019 16:49:01 > e6e459: ERR ] OSError: [WinError 193] %1 is not a valid Win32 application
[06/17/2019 16:49:01 > e6e459: SYS INFO] Status changed to Failed
[06/17/2019 16:49:01 > e6e459: SYS ERR ] Job failed due to exit code 1

我怎么解决这个问题?

根据您的错误信息,显然问题是由WebJob zip文件中的Python脚本引起的,该文件不是当前Azure WebApp的可执行文件。 因此,请检查Azure门户上的配置是否正确Stack settings ,如下图所示。

在此输入图像描述

否则,如果上述操作无法为当前的WebApp实例修复它,则解决方法是将.bat文件作为启动文件添加到WebJob zip文件中以帮助运行Python脚本,因为Azure WebApp默认支持.cmd ,使用Windows cmd的.exe.bat ,请参阅Run Background tasks with WebJobs in Azure App Service的官方文档的Supported file types for scripts or programs部分。

例如,添加名为run.bat的文件,使用python.exe (版本3.6.6 )在绝对Python路径D:\\Python34\\中的代码如下所示。

D:\Python34\python.exe Test12.py

希望能帮助到你。 如有任何疑虑,请随时告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM