![](/img/trans.png)
[英]OSError: [WinError 193] %1 is not a valid Win32 application in python
[英]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.