Movatterモバイル変換


[0]ホーム

URL:


homepage

Issue21052

This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title:Consider dropping ImportWarning for empty sys.path_hooks and sys.meta_path
Type:behaviorStage:resolved
Components:Interpreter CoreVersions:Python 3.5
process
Status:closedResolution:fixed
Dependencies:Superseder:
Assigned To: brett.cannonNosy List: Arfrever, Quentin.Pradet, brett.cannon, eric.snow, ikanobori, martin.panter, msmhrt, ncoghlan, pitrou, python-dev
Priority:normalKeywords:easy

Created on2014-03-24 17:20 bybrett.cannon, last changed2022-04-11 14:58 byadmin. This issue is nowclosed.

Messages (7)
msg214702 -(view)Author: Brett Cannon (brett.cannon)*(Python committer)Date: 2014-03-24 17:20
Issue#21049 managed to trigger a huge output of "ImportWarning: sys.meta_path is empty" because it managed to trigger an import during interpreter shutdown. The ImportWarning for sys.path_hooks and sys.meta_path were originally added because before importlib took over import it was totally legal to blank out sys.path_hooks and sys.meta_path and have import continue to work. But hopefully by the time Python 3.5 comes out there will be enough knowledge out there to not blindly empty them, making the warning superfluous as well as an annoyance when things go wrong in other respects.
msg214703 -(view)Author: Brett Cannon (brett.cannon)*(Python committer)Date: 2014-03-24 17:21
I should also say that dropping warnings leaves only a single case of ImportWarning related to empty directory names (in relation to Finder.find_module()). Once that can go away that will eliminate all uses of warnings in importlib and thus won't necessitate importing it in this case.
msg214712 -(view)Author: Antoine Pitrou (pitrou)*(Python committer)Date: 2014-03-24 19:13
Note that in issue#21409, sys.meta_path isn't "empty", it is actually None.Another possibility is to drop those warnings only when the interpreter is shutting down (it would be easy to add a private API in sys to get that information).
msg214715 -(view)Author: Brett Cannon (brett.cannon)*(Python committer)Date: 2014-03-24 19:35
It's a simple `if not sys.meta_path` check so it doesn't differentiate. But that's actually a good point about it being None in this case due to the shutdown; if the check changed to `if sys.meta_path is not None and len(sys.meta_path) == 0` then that should skip the shutdown issue while keeping the warning around.Definitely going to be one of those instances where the tests are going to be more troublesome than the fix. =)
msg222403 -(view)Author: Masami HIRATA (msmhrt)Date: 2014-07-06 13:14
Hi,I can reproduce this issue with the following steps.$ uname -aLinux ashrose 3.2.0-65-generic #99-Ubuntu SMP Fri Jul 4 21:03:29 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux$ python3.4 --versionPython 3.4.1$ touch spam.txt$ python3.4 -Wa -c "class A: pass; a = open('spam.txt')"sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='spam.txt' mode='r' encoding='UTF-8'>_frozen_importlib:2150: ImportWarning: sys.meta_path is empty_frozen_importlib:2150: ImportWarning: sys.meta_path is empty_frozen_importlib:2150: ImportWarning: sys.meta_path is empty_frozen_importlib:2150: ImportWarning: sys.meta_path is empty_frozen_importlib:2150: ImportWarning: sys.meta_path is empty...$ python3.4 -Wa -c "a = open('spam.txt')"sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='spam.txt' mode='r' encoding='UTF-8'>$ python3.4 -Wa -c "class A: pass; open('spam.txt')"-c:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='spam.txt' mode='r' encoding='UTF-8'>$
msg229002 -(view)Author: Brett Cannon (brett.cannon)*(Python committer)Date: 2014-10-10 14:55
Fixed inhttps://hg.python.org/cpython/rev/d9f71bc6d897
msg229005 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2014-10-10 14:58
New changesetd9f71bc6d897 by Brett Cannon in branch 'default':Issue#21052: Don't raise ImportWarning for sys.meta_path orhttps://hg.python.org/cpython/rev/d9f71bc6d897
History
DateUserActionArgs
2022-04-11 14:58:00adminsetgithub: 65251
2014-10-11 02:36:12berker.peksagsetstage: test needed -> resolved
2014-10-10 14:58:08python-devsetnosy: +python-dev
messages: +msg229005
2014-10-10 14:55:42brett.cannonsetstatus: open -> closed
resolution: fixed
messages: +msg229002
2014-10-09 18:15:29Quentin.Pradetsetnosy: +Quentin.Pradet
2014-10-09 14:30:53brett.cannonlinkissue21049 superseder
2014-09-24 14:50:38brett.cannonsetassignee:brett.cannon
2014-07-06 13:14:32msmhrtsetnosy: +msmhrt
messages: +msg222403
2014-05-20 08:23:08ikanoborisetnosy: +ikanobori
2014-03-25 13:13:49Arfreversetnosy: +Arfrever
2014-03-24 21:39:28martin.pantersetnosy: +martin.panter
2014-03-24 19:35:56brett.cannonsetkeywords: +easy

stage: needs patch -> test needed
messages: +msg214715
versions: + Python 3.5
2014-03-24 19:13:21pitrousetnosy: +pitrou
messages: +msg214712
2014-03-24 17:21:54brett.cannonsetmessages: +msg214703
2014-03-24 17:20:08brett.cannoncreate
Supported byThe Python Software Foundation,
Powered byRoundup
Copyright © 1990-2022,Python Software Foundation
Legal Statements

[8]ページ先頭

©2009-2026 Movatter.jp