ошибка маринования функции с помощью copyreg на python3.7
Я пытаюсь запустить пример кода, как мариновать объект на https://docs.python.org/3.7/library/copyreg.html?highlight=copyreg#module-copyreg
Я использую его на базе данных с
python version : 3.7.6 (GCC 7.3.0 )
Код:
import copyreg, copy, pickle
class C(object):
def __init__(self, a):
self.a = a
def pickle_c(c):
print("pickling a C instance...")
return C, (c.a,)
copyreg.pickle(C, pickle_c)
c = C(1)
d = copy.copy(c)
p = pickle.dumps(c) # error !
У меня ошибка:
pickling a C instance...
pickling a C instance...
PicklingError: Can't pickle <class '__main__.C'>: attribute lookup C on __main__ failed
---------------------------------------------------------------------------
PicklingError Traceback (most recent call last)
<command-2968558> in <module>
11 c = C(1)
12 d = copy.copy(c)
---> 13 p = pickle.dumps(c)
PicklingError: Can't pickle <class '__main__.C'>: attribute lookup C on __main__ failed
Я слежу за решениями в Can't pickle Function
а, похоже, что функцию копираг еще не замариновать?
благодаря