[issue3133] CGIHTTPRequestHandler does not work on windows
Amaury Forgeot d'Arc
report at bugs.python.org
Wed Jun 18 11:28:33 CEST 2008
New submission from Amaury Forgeot d'Arc <amauryfa at gmail.com>:
On windows, test_httpservers fails with the error:
File "C:\python\py3k\Lib\http\server.py", line 1104, in run_cgi
exec(open(scriptfile).read(), {"__name__": "__main__"})
File "<string>", line 3, in <module>
File "C:\python\py3k\Lib\socket.py", line 222, in write
return self._sock.send(b)
TypeError: send() argument 1 must be bytes or read-only buffer, not str
There are two problems there:
- Lib/http/server.py still looks for os.popen2 or os.popen3 to start a
subprocess; these functions have been removed, this code should be
rewritten using the subprocess module.
- the fallback method, which exec() the cgi script in the python
interpreter, fails because sys.stdout should be set to a TextIOWrapper,
not a binary socket file.
Certainly the fallback method could be removed: every platform
implements subprocess nowadays.
----------
components: Library (Lib), Windows
messages: 68361
nosy: amaury.forgeotdarc
severity: normal
status: open
title: CGIHTTPRequestHandler does not work on windows
versions: Python 3.0
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3133>
_______________________________________
More information about the Python-bugs-list
mailing list