This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author brett.cannon
Recipients Richard Cooper, brett.cannon, eric.snow, ncoghlan
Date 2017-03-20.19:22:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1490037749.03.0.248649218591.issue29851@psf.upfronthosting.co.za>
In-reply-to
Content
First, I don't know what version you're testing against because 3.0.6.1 isn't an actual release of Python and 3.6.1 isn't released yet (unless you know something I don't know :) ).

Second, the issue is that you're trying to import a module under a name which doesn't match the file specified. That's causing reload() to not be able to find the original source file to reload against, leading to the None being returned by importlib._bootstrap._find_spec() which is leading to the error you're seeing. (Remember, reload() basically runs like an import statement for the module you're reloading but recycles the module object.)

Third, while an exception is reasonable in this case, it is misleading and reload() should be updated to raise an ImportError if _bootstrap._find_spec() returns None.

I'm marking this issue as an easy fix since you just need to add an `is None` check on a return value and then raise ImportError if necessary in case someone wants to propose a PR to improve the error. It will require a doc update to document the change in the exception raised.
History
Date User Action Args
2017-03-20 19:22:29brett.cannonsetrecipients: + brett.cannon, ncoghlan, eric.snow, Richard Cooper
2017-03-20 19:22:29brett.cannonsetmessageid: <1490037749.03.0.248649218591.issue29851@psf.upfronthosting.co.za>
2017-03-20 19:22:28brett.cannonlinkissue29851 messages
2017-03-20 19:22:28brett.cannoncreate