против кода. Как эта структура пакетов python (3.7) работает в AWS Lambda, но не в локальной (против кода) среде? - PullRequest
0 голосов
/ 16 января 2019

Это довольно простая структура, содержащая два пакета, каждый со своими модулями.

Насколько я понимаю, это как-то связано с тем, что python не находит путь к пакетам / папке проекта, несмотря на наличие __init__.py

Мои вопросы:

  • Какой правильный / чистый способ заставить эту структуру работать с кодом? (предпочтительно ОС, подход, независимый от менеджера пакетов)
  • Как это работает в AWS Lambda?

enter image description here

# main.py
from app.my_package import main_module

def handler(event, context):
    main_module.do_something()

---

# main_module.py
from app.shared_package import shared_module

def do_something():
    print('\nThis is printed from app_module')
    print('Calling a function in shared_module')
    shared_module.print_something()

---

# shared_module.py
def print_something():
    print('This is printed from shared_module\n')

При запуске с компьютера с Windows или Linux: (пробовал также virtualenv)

enter image description here enter image description here

При вызове с использованием AWS Lambda:

enter image description here

Ссылка: https://docs.python.org/3/tutorial/modules.html#packages

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