script - python intellisense sublime text
Ocultar módulos externos al importar un módulo(por ejemplo, con respecto a la finalización del código) (3)
He venido a gustarme y usar este enfoque. Comenzando con la estructura de su proyecto, matrix_kit todo el contenido de matrix_kit que no desea mostrar.
the_toolkit:
__init__.py
basic_io.py
simple_math.py
matrix_kit.py
...
Mueva matrix_kit.py en un paquete con el mismo nombre y coloque un guión bajo al principio del nombre del módulo:
the_toolkit:
__init__.py
basic_io.py
simple_math.py
matrix_kit:
__init__.py
_matrix_kit.py
...
Ahora en _matrix_kit.py agregue una variable global __all__ = [...] listando los nombres de todas las funciones / clases / variables que desea que estén visibles. Luego en matrix_kit / init .py agregue esta línea:
from ._matrix_kit import *
Solo importará las cosas enumeradas en el atributo __all__ del módulo. Luego, al importar matrix_kit como lo has hecho antes, realmente importará __init__.py y su contenido.
Tengo varios módulos en un paquete (una especie de kit de herramientas), que uso en mis proyectos. La estructura se ve así:
the_toolkit:
__init__.py
basic_io.py
simple_math.py
matrix_kit.py
...
Ahora cuando uso IPython o la finalización del código en VIM después de importar un módulo del paquete con
from the_toolkit import matrix_kit
Obtengo un montón de módulos / funciones que matrix_kit.py importa ( array , math , log , format_exc , format_exc , etc.), junto con las funciones reales que matrix_kit define. ¿Cómo puedo filtrar todo lo demás, ya que no me interesan las array o array en una terminación de código del módulo matrix_kit ?
El __init__.py está vacío como lo sugieren muchos pitonistas, ¿o es la manera de hacerlo?
Tuve el mismo problema y lo resolví agregando un guión bajo a todas mis importaciones. No parece brillante, pero logra lo que buscas.
from __future__ import division as _division
import numpy as _np
import pandas as _pd
Solo se importan las cosas que se inician sin un guión bajo cuando se importa el módulo usando desde .. import *. o cuando usas tabulación completa en IPython o spyder.
puede obtener algo de kilometraje de __all__