Ich habe mehrere Module in einem Paket (eine Art Toolkit), die ich in meinen Projekten verwende. Die Struktur sieht wie folgt aus:Ausblenden externer Module beim Importieren eines Moduls (z. B. bezüglich Code-Vervollständigung)
the_toolkit:
__init__.py
basic_io.py
simple_math.py
matrix_kit.py
...
Nun, wenn ich IPython
oder die Code-Vervollständigung in VIM
verwenden, nachdem ein Modul aus dem Paket mit
from the_toolkit import matrix_kit
Import ich eine Reihe von Modulen/Funktionen erhalten, die matrix_kit.py
Importe (array
, math
, log
, loggin
, format_exc
, etc.), zusammen mit den tatsächlichen Funktionen, die matrix_kit
definiert. Wie kann ich alles andere herausfiltern, da ich mich nicht für math
oder array
in einer Code-Vervollständigung des Moduls matrix_kit
interessiert?
Die __init__.py
ist leer, wie von vielen pythonistas vorgeschlagen, oder ist es die Art, es zu tun?
Siehe http://StackOverflow.com/a/19757025/1834164, wo erklärt wird, wie '__all__ 'verwendet werden kann, um Module auch in ipython auszublenden. – user1834164