homepage

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.

classification
Title: 2to3 import fixer writes dotted_as_names into import_as_names
Type: behavior Stage: resolved
Components: 2to3 (2.x to 3.x conversion tool) Versions: Python 3.4, Python 2.7
process
Status: closed Resolution: wont fix
Dependencies: Superseder: Close 2to3 issues and list them here
View: 45544
Assigned To: Nosy List: Arfrever, benjamin.peterson, simonmweber
Priority: normal Keywords:

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:08adminsetgithub: 66615
2021年10月20日 22:45:13iritkatrielsetstatus: open -> closed
superseder: Close 2to3 issues and list them here
resolution: wont fix
stage: resolved
2014年09月21日 09:09:34Arfreversetnosy: + Arfrever
2014年09月17日 00:37:58ned.deilysetnosy: + benjamin.peterson
2014年09月16日 21:00:27simonmwebercreate

AltStyle によって変換されたページ (->オリジナル) /