On Sat, 30 Apr 2016 at 21:51 Greg Ewing <greg.ew...@canterbury.ac.nz> wrote:
> It seems that 2to3 is a bit simplistic when it comes to > translating import statements. I have a module GUI.py2exe > containing: > > import py2exe.mf as modulefinder > > 2to3 translates this into: > > from . import py2exe.mf as modulefinder > > which is a syntax error. > > It looks like 2to3 is getting confused by the fact that > there is both a submodule and a top-level module here > called py2exe. That sounds right. 2to3 has to inspect the environment to figure out if the import was meant to be relative or absolute and it's getting confused. > But the original can only be an absolute > import because it has a dot in it, so 2to3 shouldn't be > translating it into a relative one. > 2to3 is nowhere near that sophisticated for tweaking imports :) > > Putting "from __future__ import absolute_import" at the > top fixes it, but I shouldn't have to do that, should I? > There's all sorts of weird stuff going on in that import, like having a dot in the `from` part of the import instead of doing `from .py2exe import mf as modulefinder`. Try that tweak and see if that solves your SyntaxError for some reason.
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com