Десериализации класса pickle во Flask

У меня есть простой проект на Flask, где я хочу подгружать экземпляр класса созданнный извне.

На текущий момент проект имеет слебующую структуру:

  • app/
    • __init__.py
    • custom_class.py
    • views.py
  • pickle_files
    • test.pkl
  • run.py

В app/__init__.py я пытаюсь выполнить следующий код:

from .custom_class import Test
with open('model/test.pkl', 'rb') as dump:
    test = pickle.load(dump)

Получаю следующее исключение:

Traceback (most recent call last):
  File "run.py", line 1, in <module>
    from app import app
  File "/home/user/Documents/project/app/__init__.py", line 12, in <module>
    model = pickle.load(model_dump)
AttributeError: Can't get attribute 'Test' on <module '__main__' from 'run.py'>

Класс, экземляр которого я хочу получить описан в custom_class.py

Я пытался представить класс в виде внешнего для app модуля, но ничего не получилось. Подскажите, как организовать струкрутур кода и где поместить объявление класса и как подгружать его экземпляр из pickle


Ответы (0 шт):