Python: Problema con módulos locales que siguen módulos globales

Tengo un paquete configurado así:

packagename/ __init__.py numbers.py tools.py ...other stuff 

Ahora dentro de tools.py , estoy tratando de importar las fractions módulo de biblioteca estándar. Sin embargo, el propio módulo de fractions importa el módulo de numbers , que se supone que es el de la biblioteca estándar.

El problema es que intenta importar los módulos de numbers de mi paquete en su lugar (es decir, my numbers.py está siguiendo el módulo de numbers stdlib), y luego se queja de ello, en lugar de importar el módulo stdlib.

Mi pregunta es, ¿hay alguna solución para poder mantener la estructura actual de mi paquete o es la única solución para cambiar el nombre de mi propio módulo ofensivo ( numbers.py )?

Las importaciones absolutas y relativas se pueden usar desde python2.5 (con __future__ import) y parecen ser lo que estás buscando.

Intento evitar seguir la biblioteca estándar. ¿Qué tal si cambias el nombre de tu módulo a “_numbers.py”?

Y por supuesto, todavía podrías hacer:

 import _numbers as numbers