Импортировать самодельный модуль Python из внешней папки без сервера - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть папка без сервера с лямбда-функцией Python AWS.Я хочу включить модуль из вне папки без сервера.Это моя структура папок:

projectRepo/
├── serverless/
│   ├── serverless.yml
│   ├── handler.py
├── src/
│   ├── main.py
└── └── utils/
      ├── __init__.py # from .myModule import *
      └── myModule.py

Я добавил sys.path.append(..\src\utils) в handler.py, и это работает локально.Однако при запуске handler.py лямбда в AWS я получаю: No module named 'utils'

Есть ли способ, которым я могу импортировать myModule.py в handler.py и все равно оставить его там, где он сейчас?

1 Ответ

1 голос
/ 23 сентября 2019

Добавить (пусто) __init__.py файлы в папки serverless, src и projectRepo.Затем вы можете использовать from projectRepo.src.utils import whatever_functions в handler.py, при условии, что вы выполняете свой код с projectRepo в качестве рабочего каталога (если только вы фактически не добавили установку пакета для установки своего кода как пакета, например, в локальной виртуальной среде).

...