classification
Title: [Cygwin] multiprocessing module with pool object issue
Type: behavior Stage:
Components: Library (Lib) Versions: Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Julien Verger, pitrou
Priority: normal Keywords:

Created on 2017-06-04 06:54 by Julien Verger, last changed 2017-06-14 14:58 by Julien Verger.

Messages (3)
msg295114 - (view) Author: Julien Verger (Julien Verger) Date: 2017-06-04 06:54
Hello,

i'm trying to use the sample code that is documented here: https://docs.python.org/2/library/multiprocessing.html
from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    p = Pool(5)
    print(p.map(f, [1, 2, 3]))

This code behaves differently depending on the python version that i use.
I use 2 versions of python interpreter, first on my windows 7 OS and second in cygwin.
The code behaves normaly when i execute it on windows python version, but nothing seems to happen when i use python interpreter from cygwin.
Other objects than 'pool' seems to be impacted but this short exemple helps me to show how to reproduce quickly my issue.

Here are somme informations on the python versions that i'm using:
On the windows side:
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.                          

On the cygwin side:
Python 2.7.13 (default, Mar 13 2017, 20:56:15)                           
[GCC 5.4.0] on cygwin                                                    
Type "help", "copyright", "credits" or "license" for more information.

Please help

Regards
msg295869 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-06-13 08:42
How did you get Python for Cygwin? Did you compile it yourself?
Python is not supported on Cygwin (we recommend using the native Windows builds instead) and I'm not surprised that multiprocessing, which uses delicate platform-specific code, would fail working on that platform.
msg296009 - (view) Author: Julien Verger (Julien Verger) Date: 2017-06-14 14:58
Hello Antoine,

I've installed python throught the cygwin.exe installer.
I've tried to add many pythons libs without more success.
I didn't know that cygwin was an unsupported platform.
Unfortunately, my goal is to develop an automation tool based on pexpect package which does not work the same on windows build (e.g. pexpect.spawn instruction wich is not compatible on windows).
I thought that i could bypass this by using pexpect on cygwin that works great but i would like to launch multiple pexpect thread in parallel by using multithread package in my cygwin environment.

Julien
History
Date User Action Args
2017-06-14 14:58:19Julien Vergersetmessages: + msg296009
2017-06-13 08:43:10hayposettitle: multiprocessing module with pool object issue -> [Cygwin] multiprocessing module with pool object issue
2017-06-13 08:42:13pitrousetnosy: + pitrou
messages: + msg295869
2017-06-04 06:54:26Julien Vergercreate