![](/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.