我已成功部署了一個 Azure 函數!但它失敗了。Result: FailureException: ModuleNotFoundError: No module named 'CurrencyConversion'Stack: File "/azure-functions-host/workers/python/3.7/LINUX/X64/azure_functions_worker/dispatcher.py", line 242, in _handle__function_load_request func_request.metadata.entry_point)File "/azure-functions-host/workers/python/3.7/LINUX/X64/azure_functions_worker/loader.py", line 66, in load_function mod = importlib.import_module(fullmodname)File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level)File "/home/site/wwwroot/CC_Timer/__init__.py", line 3, in <module> import CurrencyConversion as cc因此,從上面的錯誤中,我們可以看出問題是將我的幫助程序函數從 CurrencyConversion.py 導入到init.py。我的代碼看起來像這樣:import CurrencyConversion as ccimport osimport azure.functions as func我的文件結構是這樣的:CCTimer├── __init__.py├── CurrencyConversion.py任何人都可以幫助詳細說明上述問題嗎?謝謝。
2 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
在 Python3 中,隱式相對導入是被禁止的。
你可以做的是 。例如,在您的情況下from .module import name
from .CurrencyConversion import classname/funcname
您可以查看python3文檔 https://docs.python.org/release/3.0.1/whatsnew/3.0.html#removed-syntax

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
在官方文檔中,有關于如何導入函數代碼中的模塊的詳細說明:導入行為。
可以使用顯式相對引用和絕對引用在函數代碼中導入模塊。
在單元測試下,您可以從文件夾中找到示例導入模塊。
因此,您可以使用 導入 。from __app__.CCTimer import CurrencyConversion
注意:現在假設python 3.7有一個錯誤,所以如果你使用的是python 3.7,顯式相對方式更好。
添加回答
舉報
0/150
提交
取消