El multiprocesamiento de Pathos no puede llamar a ningún paquete y función en la clase

Quiero hacer multiprocesamiento en la clase. Parece que solo pathos.multiprocessing puede ayudarme. Sin embargo, cuando lo implemento, no puede cargar los paquetes que uso en la función principal.

from pathos.multiprocessing import ProcessingPool;
import time
import sys;
import datetime


class tester:
    def __init__(self):
        self.pool=ProcessingPool(2);

    def func(self,msg):
        print (str(datetime.datetime.now()));
        for i in xrange(1):
            print msg
            sys.stdout.flush();
        time.sleep(2)    

#----------------------------------------------------------------------
    def worker(self):
        """"""
        pool=self.pool
        for i in xrange(10):
               msg = "hello %d" %(i)
               pool.map(self.func,[i])
        pool.close()
        pool.join()
        time.sleep(40)



if __name__ == "__main__":
    print datetime.datetime.now();
    t=tester()
    t.worker()
    time.sleep(60);
    print "Sub-process(es) done."

lo incorrecto es que el nombre global 'datetime' no está definido. ¡Pero funciona en la función principal! Mi sistema es Win7.

Respuestas a la pregunta(1)

Su respuesta a la pregunta