С помощью этого обходного пути я могу без проблем передать параметризованную функцию в многопроцессорный модуль.
Но законен ли этот обходной путь? Или это просто хак? Или есть лучший (более безопасный и надежный) способ установить уточняющее имя в функции-оболочке?
Код: Выделить всё
from functools import wraps
from math import cos, pi
def parameterize_f(*args):
def decorator(func,qname):
@wraps(func)
def wrapper(x):
return func(x,*args)
# Needed for pickling.
wrapper.__qualname__ = qname #
Подробнее здесь: [url]https://stackoverflow.com/questions/79842783/pickling-error-work-around-when-passing-decorators-to-multiprocessing-module[/url]
Мобильная версия