Я получаю эту ошибку при использовании pool.map(funct, iterable)
:
AttributeError: __exit__
Без объяснения, только трассировка стека до файла pool.py в модуле.
используя таким образом:
with Pool(processes=2) as pool:
pool.map(myFunction, mylist)
pool.map(myfunction2, mylist2)
Я подозреваю, что может быть проблема с возможностью выбора (python должен pickle
или преобразовать данные списка в поток байтов), но я не уверен, правда ли это или нужно отлаживать.
РЕДАКТИРОВАТЬ: новый формат кода, который вызывает эту ошибку:
def governingFunct(list):
#some tasks
def myFunction():
# function contents
with closing(Pool(processes=2)) as pool:
pool.map(myFunction, sublist)
pool.map(myFunction2, sublist2)
ПРОИЗВЕДЕНА ОШИБКА:
PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed
while .. as
? ты имел ввидуwith
? - person Elisha   schedule 22.09.2014while
здесь, например, очевидная синтаксическая ошибка, но из исключения ясно, что вы действительно использовалиwith
. - person Martijn Pieters   schedule 22.09.2014