otrzymuję ten błąd przy użyciu pool.map(funct, iterable)
:Python Multiprocessing Lib Error (AttributeError: __exit__)
AttributeError: __exit__
bez wyjaśnienia, tylko ślad stosu do pliku pool.py wewnątrz modułu.
korzystając w ten sposób:
with Pool(processes=2) as pool:
pool.map(myFunction, mylist)
pool.map(myfunction2, mylist2)
Podejrzewam, że może być problem z picklability (python do pickle
potrzeby lub przekształcić dane listy do strumienia bajtów) ale nie jestem pewien, czy to prawda lub jeśli jest to jak debugować.
EDIT: nowy format kodu, który produkuje ten błąd:
def governingFunct(list):
#some tasks
def myFunction():
# function contents
with closing(Pool(processes=2)) as pool:
pool.map(myFunction, sublist)
pool.map(myFunction2, sublist2)
ERROR PRODUKCJA:
PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed
co masz na myśli przez 'podczas .. as'? miałeś na myśli 'z'? – Elisha
Do uwzględnienia * pełnego śledzenia * dla błędów i rzeczywistego kodu. 'while' jest oczywistym błędem składni tutaj, na przykład, ale z wyjątku jest jasne, że użyłeś' with' naprawdę. –