[Python-Dev] If you shadow a module in the standard library that IDLE depends on, bad things happen (original) (raw)
Laura Creighton lac at openend.se
Thu Oct 29 11:59:44 EDT 2015
- Previous message (by thread): [Python-Dev] Intended Usage of collections.abc for Custom Collections
- Next message (by thread): [Python-Dev] If you shadow a module in the standard library that IDLE depends on, bad things happen
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
see the following:
lac at smartwheels:/junk$ echo "print ('hello there')" >string.py
lac at smartwheels:/junk$ idle-python3.5
hello there
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.5/idlelib/run.py", line 10, in
from idlelib import CallTips
File "/usr/lib/python3.5/idlelib/CallTips.py", line 16, in
from idlelib.HyperParser import HyperParser
File "/usr/lib/python3.5/idlelib/HyperParser.py", line 14, in
ASCII_ID_CHARS = frozenset(string.ascii_letters + string.digits + "")
AttributeError: module 'string' has no attribute 'ascii_letters'
IDLE then produces a popup that says:
IDLE's subprocess didn't make connection. Either IDLE can't stat a subprocess por personal firewall software is blocking the connection.
I think that life would be a whole lot easier for people if instead we got a message:
Warning: local file /u/lac/junk/string.py shadows module named string in the Standard Library
I think that it is python exec that would have to do this -- though of course the popup could also warn about shadowing in general, instead of sending people on wild goose chases over their firewalls.
Would this be hard to do?
Laura
- Previous message (by thread): [Python-Dev] Intended Usage of collections.abc for Custom Collections
- Next message (by thread): [Python-Dev] If you shadow a module in the standard library that IDLE depends on, bad things happen
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]