msg308115 - (view) |
Author: Matúš Valo (Matúš Valo) * |
Date: 2017-12-12 11:14 |
When trying to impor _pyio from python3 in Cygwin, import fails with exception: $ python3 Python 3.6.3 (default, Oct 31 2017, 19:00:36) [GCC 6.4.0] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> import _pyio Traceback (most recent call last): File "", line 1, in File "/usr/lib/python3.6/_pyio.py", line 17, in from msvcrt import setmode as _setmode ModuleNotFoundError: No module named 'msvcrt' This issue is breaking cherrypy server (cheroot component): https://github.com/cherrypy/cheroot/blob/86c6b246ec7cb704c6f96123556db1a083301634/cheroot/makefile.py#L5 |
|
|
msg308116 - (view) |
Author: Matúš Valo (Matúš Valo) * |
Date: 2017-12-12 11:18 |
Previous import is working in python 2.7: $ python Python 2.7.14 (default, Oct 31 2017, 21:12:13) [GCC 6.4.0] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> import _pyio >>> |
|
|
msg308117 - (view) |
Author: Christian Heimes (christian.heimes) *  |
Date: 2017-12-12 11:28 |
The msvcrt module is part of the standard library on Windows. Your cygwin installation may be incomplete. By the way, why are you importing a private module? _pyio isn't a public API and shouldn't be used. |
|
|
msg308135 - (view) |
Author: Zachary Ware (zach.ware) *  |
Date: 2017-12-12 15:10 |
Presumably this issue does prevent us from testing _pyio on Cygwin, which is not ideal. The outside usage of _pyio is definitely not supported, as Christian said, but this may be worth fixing anyway. |
|
|
msg308136 - (view) |
Author: Matúš Valo (Matúš Valo) * |
Date: 2017-12-12 15:20 |
I am using not using _pyio module directly but I am using cherrypy server which is using this module (more precisely its component cheroot): https://github.com/cherrypy/cheroot/blob/86c6b246ec7cb704c6f96123556db1a083301634/cheroot/makefile.py#L5 Regarding installation of cygwin environment, I can check it in other machine. |
|
|
msg308138 - (view) |
Author: Christian Heimes (christian.heimes) *  |
Date: 2017-12-12 15:24 |
Could you please file a bug with cherrypy and get it fixed? Cygwin not yet officially supported and stable. Erik is working hard on stable support for 3.7. |
|
|
msg308139 - (view) |
Author: Zachary Ware (zach.ware) *  |
Date: 2017-12-12 15:28 |
Right, so you should raise an issue with cherrypy :). You're more likely to get a fix from them quickly, and their usage of _pyio is not correct anyway. Also, note that Cygwin is not (anymore/yet) a fully-supported platform. We're working towards that status, but aren't there yet. |
|
|
msg308172 - (view) |
Author: Masayuki Yamamoto (masamoto) * |
Date: 2017-12-12 23:37 |
This issue seems to duplicate #28459. #28459 has a patch (implement _setmode() by ctypes on _pyio). I'm not sure _setmode() will be used in other places in the future, but the patch just works at the moment. In addition, I have an idea which implements C extension (imitation msvcrt or just cygwin). |
|
|
msg308629 - (view) |
Author: Erik Bray (erik.bray) *  |
Date: 2017-12-19 11:54 |
Indeed, this is a duplicate of #28459. I'll also update the existing patch to a pull request. |
|
|