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