Re: [Python-Dev] [Python-checkins] cpython (3.3): - Issue #16514: Fix regression causing a traceback when sys.path[0] is None
On Nov 20, 2012, at 05:35 PM, Terry Reedy wrote:
On 11/20/2012 3:35 PM, barry.warsaw wrote:
for entry in path: + if not isinstance(entry, (str, bytes)): + continue
Given that a non-(str,bytes) entry could indicate a programming error, should a warning be emitted before continuing?
That's not what happens in Python 3.2. In fact, this bug report was triggered by someone who was already inserting None to sys.path[0]. It is silently ignored in Python 3.2, but tracebacked in 3.3. Cheers, -Barry
On Tue, Nov 20, 2012 at 6:41 PM, Barry Warsaw <barry@python.org> wrote:
On Nov 20, 2012, at 05:35 PM, Terry Reedy wrote:
On 11/20/2012 3:35 PM, barry.warsaw wrote:
for entry in path: + if not isinstance(entry, (str, bytes)): + continue
Given that a non-(str,bytes) entry could indicate a programming error, should a warning be emitted before continuing?
That's not what happens in Python 3.2.
Fine, but warnings are off by default and this is simply wrong behaviour to do. We should not paper over it just because import.c did.
In fact, this bug report was triggered by someone who was already inserting None to sys.path[0]. It is silently ignored in Python 3.2, but tracebacked in 3.3.
But why were they doing that? What did they hope to get out of it?
participants (2)
-
Barry Warsaw
-
Brett Cannon