multiprocessing in subpackage on windows

Darren Dale dsdale24 at gmail.com
Wed Apr 20 18:20:31 EDT 2011


I have two really simple scripts:
C:\Python27\Scripts\foo
---
if __name__ == '__main__':
 import bar
 bar.main()
C:\Python27\Lib\site-packages\bar.py
---
from multiprocessing import Pool
def task(arg):
 return arg
def main():
 pool = Pool()
 res = pool.apply_async(task, (3.14,))
 print res.get()
if __name__ == '__main__':
 main()
If I run "python C:\[...]bar.py", 3.14 is printed. If I run "python C:\
[...]foo", I get a long string of identical errors:
 File "<string>", line 1 in <module>
 File "C:\Python27\lib\multiprocessing\forking.py", line 346, in main
 prepare(preparation_data)
 File "C:\Python27\lib\multiprocessing\forking.py", line 455, in
prepare
 file, path_name, etc = imp.find_module(main_name, dirs)
ImportError: No module named foo
This same scheme works on Linux. What step have I missed to allow a
script to run code from a subpackage that uses multiprocessing?
Thanks,
Darren


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /