# pickle fails for lambda functions squ = lambda x:x**2 # test the pickle-ability of inner function psqu = dumps(squ) p_squ = loads(psqu) assert squ(10) == p_squ(10) if __name__ == '__main__': from pathos.helpers import freeze_support freeze_support() from pathos.pools import _ProcessPool as Pool pool = Pool() # if pickle works, then multiprocessing should too print("Evaluate 10 items on 2 proc:") pool.ncpus = 2 p_res = pool.map(add_me, range(10)) print(pool) print('%s' % p_res) print('') # if pickle works, then multiprocessing should too print("Evaluate 10 items on 4 proc:") pool.ncpus = 4 p2res = pool.map(squ, range(10)) print(pool) print('%s' % p2res)