[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-03 Thread Guido van Rossum


Guido van Rossum  added the comment:

If you don't even know whether it's Python, Docker or Kubernetes you really 
need to ask somewhere else.  Plenty of user groups around.

Python detects tty using the standard UNIX isatty() function.

To a tty we always get line buffering.

To a file we use a larger buffer.

For more details see the source at
https://github.com/python/cpython/blob/4660597b51b3d14ce6269d0ed865ab7e22c6ae1f/Python/pylifecycle.c#L1942

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-02 Thread Anatoli Babenia


Anatoli Babenia  added the comment:

I didn't reopen the issue explicitly. Just pressed the submit button again when 
the notification about edited bug appeared.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-02 Thread Anatoli Babenia


Anatoli Babenia  added the comment:

The point is that without a clear description of buffering in Python 3, it is 
impossible to understand what goes when Python is wrapped by Docker, 
supervisord, redirected to file etc.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-02 Thread Guido van Rossum


Guido van Rossum  added the comment:

I don't know anything about Docker, so I can't help you there. Please don't 
reopen the issue again.

--
resolution:  -> wont fix
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-02 Thread Anatoli Babenia


Anatoli Babenia  added the comment:

To avoid too much outside reference, the commit message I am unsure of is this.

> Run Python 3 in unbuffered mode to see lines in `docker logs` as soon as they 
> appear. When Python 3 is not attached to a terminal, it turns on the 
> buffering, like when `docker` runs in a background.

I am not sure.

1. How Python detects it is attached to terminal or not.
2. That it is Python that turns on stdout buffering.
3. What happens to stdout with child processes when they run with docker in 
different modes - foreground, background (-d), interactive (-i), with tty (-t) 
and without tty.

--
resolution: wont fix -> 
status: closed -> open

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-02 Thread Guido van Rossum


Guido van Rossum  added the comment:

I don't think that waiting another six months is going to make this happen 
either. Maybe you can petition realpython.com to publish something about this.

Honestly it sounds like this ties too many different topics together to easily 
fit in the library docs: in order to make a large number of different use cases 
easy, how I/O works under the hood in Python is truly complex.

So I'm going to close this rather than have it add to our issue count.

--
resolution:  -> wont fix
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-02 Thread Anatoli Babenia


Anatoli Babenia  added the comment:

Not sure I can volunteer - need to find a sustenance ASAP. But given that 
nothing moved in this direction over the past 6 months, another week spent not 
writing this stuff won't change anything.

In any case it would start with the following problem - "Logs don't show up if 
running in Kubernetes" - https://github.com/bottlepy/bottle/issues/1130

I've encountered it a 3 days session on adding CI to my favourite cheat sheet 
server 
https://github.com/chubin/cheat.sh/pull/224/commits/10bfaab38cc649d765637bf4af4791266d21a3f7
 and I am still not sure I am right. That's why I want to read something about 
it.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-02 Thread Guido van Rossum

Guido van Rossum  added the comment:

Maybe you’ll get some explanation or pointers on python-list. Or were you 
volunteering to write something?

--
nosy: +gvanrossum

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-08-01 Thread tedder


Change by tedder :


--
nosy: +tedder

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41449] An article on Python 3 stdout and stderr output buffering

2020-07-31 Thread Anatoli Babenia


New submission from Anatoli Babenia :

It is hard to find info why Python 3 buffers stdout/stderr. The buffering 
causes problems when debugging Python apps in Docker and Kubernetes, and it is 
unclear if it is Python 3 who starts to buffer stdout if no tty is attached, it 
is Docker, or it is Kubernetes.

The only bit of info that could be searched is the description of -u option 
https://docs.python.org/3.8/using/cmdline.html?#cmdoption-u which is not linked 
to any article.

The `-u` description also says.

> Changed in version 3.7: The text layer of the stdout and stderr streams now 
> is unbuffered.

However, I don't understand what is the text layers of stdout. And there is no 
description of behaviour when the output is not attached, and when the output 
is redirected.

--
assignee: docs@python
components: Documentation
messages: 374633
nosy: Anatoli Babenia, docs@python
priority: normal
severity: normal
status: open
title: An article on Python 3 stdout and stderr output buffering

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com