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 2014年09月16日 21:00 by simonmweber, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Messages (1) | |||
|---|---|---|---|
| msg226965 - (view) | Author: Simon Weber (simonmweber) | Date: 2014年09月16日 21:00 | |
When dealing with implicit relative imports of the form "import <dotted_as_names> as...", the 2to3 import fixer will rewrite them as "from . import <dotted_as_names> as...". This is invalid syntax. Here's an example: $ tree package/ package/ ├── __init__.py ├── rootmod.py └── subpackage ├── __init__.py └── mod.py 1 directory, 4 files $ cat package/rootmod.py # this is the only nonempty file import subpackage.mod as my_name $ python package/rootmod.py $ 2to3 -w -f import package/ RefactoringTool: Refactored package/rootmod.py --- package/rootmod.py (original) +++ package/rootmod.py (refactored) @@ -1 +1 @@ -import subpackage.mod as my_name +from . import subpackage.mod as my_name RefactoringTool: Files that were modified: RefactoringTool: package/rootmod.py $ python package/rootmod.py File "package/rootmod.py", line 1 from . import subpackage.mod as my_name ^ SyntaxError: invalid syntax Probably the easiest way to rewrite this is "from .subpackage import mod as my_name". |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:08 | admin | set | github: 66615 |
| 2021年10月20日 22:45:13 | iritkatriel | set | status: open -> closed superseder: Close 2to3 issues and list them here resolution: wont fix stage: resolved |
| 2014年09月21日 09:09:34 | Arfrever | set | nosy:
+ Arfrever |
| 2014年09月17日 00:37:58 | ned.deily | set | nosy:
+ benjamin.peterson |
| 2014年09月16日 21:00:27 | simonmweber | create | |