簡體   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