import collections problem

Working on my refactor of axes.py, I needed to use defaultdict and possibly OrderedDict from the collections standard module. Problem is that matplotlib already has a collections.py module in lib/matplotlib. This file takes precedence in the import process and gets in my way. Does anybody know of any way to force the import to do what I want? This has completely stumped me.

Thanks,
Ben Root

Working on my refactor of axes.py, I needed to use defaultdict and
possibly OrderedDict from the collections standard module. Problem is
that matplotlib already has a collections.py module in lib/matplotlib.
This file takes precedence in the import process and gets in my way.
Does anybody know of any way to force the import to do what I want?
This has completely stumped me.

Looking at PEP 328 – Imports: Multi-Line and Absolute/Relative | peps.python.org it appears that for 2.6 and later, using

from __future__ import absolute_import

should cause "import collections" to refer to the standard library.

Eric

···

On 07/19/2012 09:24 AM, Benjamin Root wrote:

Thanks,
Ben Root

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

Good to know. But aren’t we supporting 2.5, or did we decide on 2.6?

Ben

···

On Thu, Jul 19, 2012 at 2:32 PM, Eric Firing <efiring@…229…> wrote:

On 07/19/2012 09:24 AM, Benjamin Root wrote:

Working on my refactor of axes.py, I needed to use defaultdict and

possibly OrderedDict from the collections standard module. Problem is

that matplotlib already has a collections.py module in lib/matplotlib.

This file takes precedence in the import process and gets in my way.

Does anybody know of any way to force the import to do what I want?

This has completely stumped me.

Looking at http://www.python.org/dev/peps/pep-0328/ it appears that for

2.6 and later, using

from future import absolute_import

should cause “import collections” to refer to the standard library.

Eric

     > Working on my refactor of axes.py, I needed to use defaultdict and
     > possibly OrderedDict from the collections standard module.
      Problem is
     > that matplotlib already has a collections.py module in
    lib/matplotlib.
     > This file takes precedence in the import process and gets in my way.
     > Does anybody know of any way to force the import to do what I want?
     > This has completely stumped me.

    Looking at PEP 328 – Imports: Multi-Line and Absolute/Relative | peps.python.org it appears that for
    2.6 and later, using

    from __future__ import absolute_import

    should cause "import collections" to refer to the standard library.

    Eric

Good to know. But aren't we supporting 2.5, or did we decide on 2.6?

>=2.6 only from now on. This is so that we can support 3.2+ in the same codebase.

Eric

···

On 07/19/2012 09:37 AM, Benjamin Root wrote:

On Thu, Jul 19, 2012 at 2:32 PM, Eric Firing <efiring@...229... > <mailto:efiring@…229…>> wrote:
    On 07/19/2012 09:24 AM, Benjamin Root wrote:

Ben