Azure Функции и вспомогательные функции - PullRequest
0 голосов
/ 26 марта 2020

Я успешно развернул функцию 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

Может кто-нибудь помочь уточнить вопрос выше? Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

В официальном do c есть подробное описание того, как импортировать модули в код вашей функции: Поведение импорта .

Вы можете импортировать модули в свой код функции, использующий как явные относительные, так и абсолютные ссылки.

А в разделе unit test вы можете найти пример модуля импорта из папки.

Таким образом, вы можете импорт с from __app__.CCTimer import CurrencyConversion.

Примечание: на данный момент предположим, что есть ошибка с python 3.7 , поэтому, если вы используете python 3.7, явный относительный путь лучше.

0 голосов
/ 26 марта 2020

В Python3 неявный относительный импорт запрещен.

Что вы можете сделать, это from .module import name. Например, в вашем случае from .CurrencyConversion import classname/funcname

вы можете проверить python3 документы https://docs.python.org/release/3.0.1/whatsnew/3.0.html#removed -синтаксис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...