New submission from John Machin sjmac...@users.sourceforge.net:
In a package, import local1, local2 is not fixed. Here's some real
live 2to3 output showing the problem and the workaround:
import ExcelFormulaParser, ExcelFormulaLexer
-import ExcelFormulaParser
-import ExcelFormulaLexer
+from . import ExcelFormulaParser
+from . import ExcelFormulaLexer
import sys, struct
-from antlr import ANTLRException
+from .antlr import ANTLRException
As a solution that covers cases like import sys, local1, local2 is
possibly difficult, I suggest putting out a warning that a manual fix
(one import per line) may be required. I've put this kludge in my copy
of fix_import.py:
def probably_a_local_import(imp_name, file_path):
+if , in imp_name:
+print(*** Can't handle import %r in %s % (imp_name, file_path))
# Must be stripped because the right space is included by the parser
imp_name = imp_name.split('.', 1)[0].strip()
base_path = dirname(file_path)
base_path = join(base_path, imp_name)
[Aside: right space? Possibly should be left space]
and it produces:
*** Can't handle import ' ExcelFormulaParser, ExcelFormulaLexer' in
\2to3\xlwt\py3\xlwt\ExcelFormula.py
*** Can't handle import ' sys, struct' in
\2to3\xlwt\py3\xlwt\ExcelFormula.py
--
components: 2to3 (2.x to 3.0 conversion tool)
messages: 78276
nosy: sjmachin
severity: normal
status: open
title: intra-pkg multiple import (import local1, local2) not fixed
versions: Python 3.0
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4743
___
___
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com