Функция AWS Lambda попыталась выполнить относительный импорт за пределы пакета верхнего уровняPython

Программы на Python
Ответить
Anonymous
 Функция AWS Lambda попыталась выполнить относительный импорт за пределы пакета верхнего уровня

Сообщение Anonymous »

Введение

Я разработал функцию AWS Lambda с использованием контейнера Dockerfile, но постоянно сталкиваюсь с ошибкой:

Unable to import module 'main': attempted relative import beyond top-level package"

Он даже не запускается.

Какие изменения мне нужно внести, чтобы он начал работать?
Мой Dockerfile
FROM public.ecr.aws/lambda/python:3.11

COPY source/requirements.txt ${LAMBDA_TASK_ROOT}

#COPY main.py ${LAMBDA_TASK_ROOT}

RUN pip install -r requirements.txt

COPY source ${LAMBDA_TASK_ROOT}/source/

CMD ["source.main.real_estate_scraper"]

Файл main.py
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from real_estate_prices.spiders.kolej_na_19 import KolejNa19Spider
from real_estate_prices.spiders.modern_mokotow import ModernMokotowSpider
from real_estate_prices.spiders.stacja_wola import StacjaWolaSpider
from real_estate_prices.spiders.zelazna_54 import Zelazna54Spider

def real_estate_scraper(event, contxt):
process = CrawlerProcess(get_project_settings())

process.crawl(KolejNa19Spider)
process.crawl(ModernMokotowSpider)
process.crawl(StacjaWolaSpider)
process.crawl(Zelazna54Spider)

process.start()

Структура проекта
image
├─── Dockerfile
└─── source
├── requirements.txt
├── gcp_key.json
├── main.py
├── scrapy.cfg
└── real_estate_prices
├── __init__.py
a lot more but now it inot relevant


Подробнее здесь: https://stackoverflow.com/questions/791 ... el-package
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»