Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #11780

Re: 2to3 adds '.' in front dir of "from dir import ..." statements (Was: [MoM] lefse migration to python 3])

From Ghislain Vaillant <ghisvail@gmail.com>
Newsgroups linux.debian.maint.python
Subject Re: 2to3 adds '.' in front dir of "from dir import ..." statements (Was: [MoM] lefse migration to python 3])
Date 2019-09-10 08:30 +0200
Message-ID <yEHP3-56m-3@gated-at.bofh.it> (permalink)
References <yEHm1-4FK-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

It results from the ambiguity between absolute and relative imports in
Python 2.

Here 2to3 considers your imports being relative, hence the added dot. I
believe no dots would be added should a `from __future__ import
absolute_import` be found in the preamble of the module.

Hope this helps.

Ghis

Le mar. 10 sept. 2019 à 07:51, Andreas Tille <andreas@an3as.eu> a écrit :

> Hi,
>
> in the process of the Python3 migration the package lefse was converted
> using 2to3.  The changes can be found in git[1].  I'm wondering about
> the following diff created by 2to3:
>
>   - from lefse import *
>   + from .lefse import *
>
> When calling a random binary of the resulting binary package lefse I
> experienced:
>
> $ plot_features
> Traceback (most recent call last):
>   File "/usr/bin/plot_features", line 6, in <module>
>     from .lefse import *
> ModuleNotFoundError: No module named '__main__.lefse'; '__main__' is not a
> package
>
>
> I think the line
>
>    from lefse import *
>
> should remain to keep that script functional.  I now checked another
> package (cain - nothing pushed yet) and here also 2to3 is changing
>
>    from something import *
>
> to
>
>    from .something import *
>
> Could somebody please enlighten me about this added '.' which does not
> seem to work?
>
> Kind regards
>
>       Andreas.
>
> [1] https://salsa.debian.org/med-team/lefse
>
> --
> http://fam-tille.de
>
>

Back to linux.debian.maint.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

2to3 adds '.' in front dir of "from dir import ..." statements (Was:  [MoM] lefse migration to python 3]) Andreas Tille <andreas@an3as.eu> - 2019-09-10 08:00 +0200
  Re: 2to3 adds '.' in front dir of "from dir import ..." statements  (Was: [MoM] lefse migration to python 3]) Ghislain Vaillant <ghisvail@gmail.com> - 2019-09-10 08:30 +0200
  Re: 2to3 adds '.' in front dir of "from dir import ..." statements  (Was: [MoM] lefse migration to python 3]) Michael Kesper <mkesper@schokokeks.org> - 2019-09-12 09:30 +0200
    Re: 2to3 adds '.' in front dir of "from dir import ..." statements  (Was: [MoM] lefse migration to python 3]) Andreas Tille <andreas@an3as.eu> - 2019-09-12 09:50 +0200
  Re: 2to3 adds '.' in front dir of "from dir import ..." statements  (Was: [MoM] lefse migration to python 3]) Andrey Rahmatullin <wrar@debian.org> - 2019-09-12 11:10 +0200

csiph-web