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.
Created on 2012年07月15日 09:54 by ncoghlan, last changed 2022年04月11日 14:57 by admin.
| Messages (11) | |||
|---|---|---|---|
| msg165516 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年07月15日 09:54 | |
Created to record the egregious hack of relying on the test_runpy infrastructure in order to test pkgutil.walk_packages. It gets the job done, but is a really messy way of going about it. Worth cleaning up by factoring the support code out to a helper module when there isn't a release deadline looming. |
|||
| msg165519 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年07月15日 11:25 | |
Also, a second test case should be added to cover the zipimporter.zipimporter component. |
|||
| msg165540 - (view) | Author: Chris Jerdonek (chris.jerdonek) * (Python committer) | Date: 2012年07月15日 17:33 | |
Such helper functionality could also be used in the tests of unittest.TestLoader.loadTestsFromName(). See, for example, the tests proposed for issue 7559. |
|||
| msg165616 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年07月16日 14:31 | |
The walk_packages tests should also be enhanced to ensure correctly handling of namespace packages |
|||
| msg165617 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年07月16日 14:33 | |
Note that the problem described in #14787 will limit the scope of what can be tested. |
|||
| msg165682 - (view) | Author: Chris Jerdonek (chris.jerdonek) * (Python committer) | Date: 2012年07月17日 07:05 | |
I'd like to work on this if that's okay. I've already written test cases for issue 7559 and issue 15299 that required creating temporary packages, so I understand the need. And I'd also like to create test cases for issue 14787, which should really be done after this. I think this should be split into two parts though: (1) refactor the create-package code in test_runpy into a separate helper module, and (2) move the refactored walk_package tests from test_runpy into test_pkgutil (so it's easier to see what has changed). I can create a new issue for (1). |
|||
| msg165686 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年07月17日 08:11 | |
That sounds good, and thanks for working on this - if we can get the tests cleaned up for the 3.3 release, that will make ongoing maintenance a lot easier. |
|||
| msg221983 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2014年06月30日 21:16 | |
Has anyone made any progress with this issue or others referenced like #7559 or #14787 ? Regardless I'd like to help out directly if possible as I'm suffering from an acute case of triagitis :-) |
|||
| msg222001 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2014年07月01日 02:09 | |
Dropped down my priority list (it's a nice to have to make the code base a bit easier to work on, rather than something essential). |
|||
| msg222055 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2014年07月01日 18:36 | |
Hardly a good start :-( From the IDLE shell. Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> from pkgutil import walk_packages >>> packages = list(walk_packages()) Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> packages = list(walk_packages()) File "C:\Python34\lib\pkgutil.py", line 86, in walk_packages __import__(name) File "C:\Python34\lib\site-packages\pip\__init__.py", line 9, in <module> from pip.log import logger File "C:\Python34\lib\site-packages\pip\log.py", line 8, in <module> from pip import backwardcompat File "C:\Python34\lib\site-packages\pip\backwardcompat\__init__.py", line 27, in <module> console_encoding = sys.__stdout__.encoding AttributeError: 'NoneType' object has no attribute 'encoding' Then from the command line. C:\Users\Mark\MyPython>type wptest.py #!/usr/bin/env python3 # -*- coding: utf-8 -*- from pkgutil import walk_packages packages = list(walk_packages()) C:\Users\Mark\MyPython>wptest.py c:\python34\lib\site-packages\wx\core.py:22: UserWarning: wxPython/wxWidgets release number mismatch warnings.warn("wxPython/wxWidgets release number mismatch") --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) C:\Users\Mark\MyPython\wptest.py in <module>() 4 from pkgutil import walk_packages 5 ----> 6 packages = list(walk_packages()) c:\python34\lib\pkgutil.py in walk_packages(path, prefix, onerror) 99 path = [p for p in path if not seen(p)] 100 --> 101 yield from walk_packages(path, name+'.', onerror) 102 103 c:\python34\lib\pkgutil.py in walk_packages(path, prefix, onerror) 99 path = [p for p in path if not seen(p)] 100 --> 101 yield from walk_packages(path, name+'.', onerror) 102 103 c:\python34\lib\pkgutil.py in walk_packages(path, prefix, onerror) 99 path = [p for p in path if not seen(p)] 100 --> 101 yield from walk_packages(path, name+'.', onerror) 102 103 c:\python34\lib\pkgutil.py in walk_packages(path, prefix, onerror) 99 path = [p for p in path if not seen(p)] 100 --> 101 yield from walk_packages(path, name+'.', onerror) 102 103 c:\python34\lib\pkgutil.py in walk_packages(path, prefix, onerror) 84 if ispkg: 85 try: ---> 86 __import__(name) 87 except ImportError: 88 if onerror is not None: c:\python34\lib\site-packages\wx\lib\pubsub\core\arg1\__init__.py in <module>() 14 15 msg = 'Should not import this directly, used by pubsub.core if applicable' ---> 16 raise RuntimeError(msg) RuntimeError: Should not import this directly, used by pubsub.core if applicable But then. C:\Users\Mark\MyPython>cd c:\cpython\pcbuild c:\cpython\PCbuild>python_d.exe C:\Users\Mark\MyPython\wptest.py c:\cpython\PCbuild> No problems above!!! Given Brett's comment in msg165456 "But if we do this then I want to deprecate pkgutil in Python 3.4" I don't believe that this is worth pursuing, or have I missed something? |
|||
| msg222115 - (view) | Author: Brett Cannon (brett.cannon) * (Python committer) | Date: 2014年07月02日 18:29 | |
I got overruled on the deprecation idea due to utility code like walk_packages that pkgutil contains. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:32 | admin | set | github: 59563 |
| 2019年02月24日 23:01:58 | BreamoreBoy | set | nosy:
- BreamoreBoy |
| 2015年06月28日 06:03:55 | ncoghlan | set | assignee: ncoghlan -> |
| 2014年07月02日 18:29:07 | brett.cannon | set | messages: + msg222115 |
| 2014年07月01日 18:36:25 | BreamoreBoy | set | nosy:
+ brett.cannon messages: + msg222055 |
| 2014年07月01日 02:09:36 | ncoghlan | set | messages: + msg222001 |
| 2014年06月30日 21:16:09 | BreamoreBoy | set | nosy:
+ BreamoreBoy messages: + msg221983 versions: + Python 3.5, - Python 3.3 |
| 2012年11月13日 05:02:39 | eric.snow | set | nosy:
+ eric.snow |
| 2012年07月30日 10:28:14 | ncoghlan | set | assignee: ncoghlan |
| 2012年07月17日 08:11:57 | ncoghlan | set | messages: + msg165686 |
| 2012年07月17日 07:11:43 | chris.jerdonek | set | dependencies: + Refactor the test_runpy walk_package support code into a common location |
| 2012年07月17日 07:05:41 | chris.jerdonek | set | messages: + msg165682 |
| 2012年07月16日 14:33:48 | ncoghlan | set | messages: + msg165617 |
| 2012年07月16日 14:31:47 | ncoghlan | set | messages: + msg165616 |
| 2012年07月15日 17:33:59 | chris.jerdonek | set | messages: + msg165540 |
| 2012年07月15日 17:21:10 | chris.jerdonek | set | nosy:
+ chris.jerdonek |
| 2012年07月15日 11:25:50 | ncoghlan | set | priority: low -> normal |
| 2012年07月15日 11:25:42 | ncoghlan | set | messages: + msg165519 |
| 2012年07月15日 10:12:10 | ncoghlan | set | dependencies: + "pydoc -w <package>" writes out page with empty "Package Contents" section |
| 2012年07月15日 09:54:30 | ncoghlan | create | |