我已成功部署Azure功能!但它失败了
Result: Failure
Exception: 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 cc
import os
import azure.functions as func
我的文件结构如下:
CCTimer
├── __init__.py
├── CurrencyConversion.py
有谁能帮助详细说明上述问题吗?谢谢
在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
在官方文档中,有一个关于如何在函数代码中导入模块的详细描述:Import behavior
在unit test下,您可以从文件夹中找到示例导入模块
因此您可以使用
from __app__.CCTimer import CurrencyConversion
导入注意:现在假设有一个bug with python 3.7,因此如果您使用的是python 3.7,那么显式相对方式更好
相关问题 更多 >
编程相关推荐