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 2011年01月17日 14:28 by mark, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| py-import-bug.tar.gz | mark, 2011年01月17日 14:28 | |||
| Messages (3) | |||
|---|---|---|---|
| msg126399 - (view) | Author: Mark Summerfield (mark) * | Date: 2011年01月17日 14:28 | |
I'm reporting this at Georg Brandl's suggestion. If you unpack the attached (tiny) tarball you get this directory structure: Graphics/ Graphics/Xpm.py Graphics/Vector/ Graphics/Vector/__init__.py Graphics/Vector/Svg.py Graphics/__init__.py The Svg.py file has this content: #!/usr/bin/env python3 from ..Graphics import Xpm SVG = 1 Here are 3 interactive actions, one each for 3.0, 3.1, and 3.2rc1: $ python30 Python 3.0.1 (r301:69556, Jul 15 2010, 10:31:51) [GCC 4.4.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from Graphics.Vector import * >>> Svg.SVG 1 $ python31 Python 3.1.2 (r312:79147, Jul 15 2010, 10:56:05) [GCC 4.4.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from Graphics.Vector import * >>> Svg.SVG 1 $ ~/opt/python32rc1/bin/python3 Python 3.2rc1 (r32rc1:88035, Jan 16 2011, 08:32:59) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from Graphics.Vector import * Traceback (most recent call last): File "<stdin>", line 1, in <module> File "Graphics/Vector/Svg.py", line 2, in <module> from ..Graphics import Xpm ImportError: No module named Graphics So clearly 3.0 and 3.1 have the same behavior as each other; and this is different from 3.2rc1, and Georg says that 3.0 and 3.1 have a bug and that 3.2rc1 is correct. PS R. David Murray suggests that this might be related to http://bugs.python.org/issue7902 |
|||
| msg126404 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2011年01月17日 15:16 | |
Yeah, 7902 was a bug that tried to do an absolute import if an explicit relative import failed to find anything (i.e. it had inherited the old implicit relative import fallback, which was entirely inappropriate for the new use case). Since the significant import in these examples should correctly be written as "from .. import Xpm", it should fail in 2.6.6 and 3.1.3 as well. If you could confirm that at least 3.1.3 also gives the expected error message, we'll close this as a dupe of 7902. |
|||
| msg126409 - (view) | Author: Mark Summerfield (mark) * | Date: 2011年01月17日 16:30 | |
I just installed 3.1.3 and it does indeed give the import error: Python 3.1.3 (r313:86834, Jan 17 2011, 16:29:46) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from Graphics.Vector import * Traceback (most recent call last): File "<stdin>", line 1, in <module> File "Graphics/Vector/Svg.py", line 2, in <module> from ..Graphics import Xpm ImportError: No module named Graphics |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:11 | admin | set | github: 55135 |
| 2011年01月17日 17:01:49 | r.david.murray | set | status: open -> closed nosy: brett.cannon, ncoghlan, orsenthil, mark superseder: relative import broken resolution: duplicate stage: resolved |
| 2011年01月17日 16:30:07 | mark | set | nosy:
brett.cannon, ncoghlan, orsenthil, mark messages: + msg126409 |
| 2011年01月17日 15:16:42 | ncoghlan | set | nosy:
+ ncoghlan messages: + msg126404 |
| 2011年01月17日 15:06:58 | orsenthil | set | nosy:
+ orsenthil |
| 2011年01月17日 14:56:34 | pitrou | set | nosy:
+ brett.cannon |
| 2011年01月17日 14:28:30 | mark | create | |