Как распаковать объект, класс которого существует в другом пространстве имен (python)?

Если у меня есть скрипт, который определяет класс:

script = """

class myClass:
    def __init__(self):
        self.name = 'apple'
        self.color = 'green'

"""

а затем выполнить этот скрипт в своем собственном пространстве имен dict:

NS = {}
exec script in NS

а затем создайте экземпляр класса и выберите его:

a = NS['myClass']()

import pickle

save = pickle.dumps(a)

Теперь, если я попытаюсь отомкнуть его:

load = pickle.loads(save)

Я получаю ошибку

AttributeError: 'module' object has no attribute 'myClass'

Я понимаю, что это нене работает, потому что Python нене знаю, где найти myClass, чтобы перестроить объект. Но myClass существует в NS Dict. Есть ли способ сообщить pickle, где найти класс для загружаемого объекта?

Ответы на вопрос(2)

Ваш ответ на вопрос