Issue 32287: Import of _pyio module failed on cygwin (original) (raw)

Created on 2017-12-12 11:14 by Matúš Valo, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (9)
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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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) * (Python triager) Date: 2017-12-19 11:54
Indeed, this is a duplicate of #28459. I'll also update the existing patch to a pull request.
History
Date User Action Args
2022-04-11 14:58:55 admin set github: 76468
2018-03-23 20:05:53 berker.peksag set superseder: _pyio module broken on Cygwin / setmode not usable
2017-12-19 11:54:40 erik.bray set status: open -> closedresolution: duplicatemessages: + stage: needs patch -> resolved
2017-12-12 23:37:41 masamoto set messages: +
2017-12-12 15:28:39 zach.ware set messages: +
2017-12-12 15:24:50 christian.heimes set messages: +
2017-12-12 15:20:06 Matúš Valo set messages: +
2017-12-12 15:10:04 zach.ware set priority: normal -> lowtype: crash -> behaviorversions: + Python 3.7, - Python 3.6nosy: + zach.ware, masamotomessages: + stage: needs patch
2017-12-12 13:52:35 r.david.murray set nosy: + erik.bray
2017-12-12 11:28:43 christian.heimes set nosy: + christian.heimesmessages: +
2017-12-12 11🔞11 Matúš Valo set messages: +
2017-12-12 11:14:02 Matúš Valo create