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