From a failing unit test with coverage.py, I noticed what seems to be a slight typo in the error message when a module cannot be imported: diff -r 1186d68715ccLib/imp.py --- a/Lib/imp.py Wed Jul 04 19:33:45 2012 -0700 +++ b/Lib/imp.py Thu Jul 05 11:50:25 2012 -0700 @@ -230,7 +230,7 @@ continue break # Break out of outer loop when breaking out of inner loop. else: - raise ImportError('No module name {!r}'.format(name), name=name) + raise ImportError('No module named {!r}'.format(name), name=name) encoding = None if mode == 'U': Note the missing "d". This makes it match similar existing error messages: Lib/importlib/_bootstrap.py 1238:_ERR_MSG = 'No module named {!r}' Lib/modulefinder.py 185: self.msgout(4, "raise ImportError: No module named", qname) 186: raise ImportError("No module named " + qname) 198: self.msgout(4, "raise ImportError: No module named", mname) 199: raise ImportError("No module named " + mname) 215: raise ImportError("No module named " + subname) Lib/runpy.py 106: raise ImportError("No module named %s" % mod_name) I wonder if this can be centralized to ensure that all code uses the exact same message?
I think this is just a simple typo and a consistency issue; not a grammatical issue. The misspelled version was added in a recent commit: [last: 0] marca@SCML-MarcA:~/dev/hg-repos/cpython$ hg log -r 76455 changeset: 76455:085cf1480cfe user: Brett Cannon <brett@python.org> date: Sat Apr 21 21:09:46 2012 -0400 summary: Issue #13959: Re-implement imp.find_module() in Lib/imp.py. Link to issue: http://bugs.python.org/issue13959