Comment la référence au haut-niveau module en Python à l'intérieur d'un paquet?

Dans le dessous de la hiérarchie, est-il une pratique et de façon universelle de référence pour la top_package à l'aide d'un terme générique à tous .py fichier ci-dessous? Je voudrais avoir un moyen cohérent d'importer d'autres modules, de sorte que même lorsque le "top_package" change de nom rien ne casse.

Je ne suis pas en faveur de l'aide relative à l'importation comme "..level_one_a" que le chemin sera différent pour chaque fichier python ci-dessous. Je suis à la recherche d'une manière qui:

  1. Chaque fichier python peuvent avoir la même instruction import pour le même module dans le package.
  2. Un découplage référence à "top_package" en tout .py fichier à l'intérieur du paquet, donc quel que soit le nom de "top_package" transforme en, rien ne casse.
    top_package/
      __init__.py
      level_one_a/
        __init__.py
        my_lib.py
        level_two/
          __init__.py
          hello_world.py
      level_one_b/
        __init__.py
        my_lib.py
      main.py
Pourquoi voulez-vous une référence vers le haut-niveau module? (Parfois, cette réponse révèle le vrai problème/solution).
Je veux faire de l'emballage réutilisables que possible, de sorte que lorsque j'ai renommer le module supérieur, tout peut encore fonctionner normalement, sans avoir à modifier chaque nom d'importation de l'intérieur.

OriginalL'auteur hllau | 2012-01-02