you mac however available are python python-2.7 module pip packages

python - mac - Ocultar módulos de implementación y submódulos en paquete



upgrade pip windows (1)

Puede ocultar las partes internas del módulo de una importación al subrayar el nombre del módulo:

_su nombre de módulo está aquí.

E: también puede definir __all__ en el __all__ del paquete - solo los nombres de los módulos de __all__ se importarán a través de la importación *.

Quiero empaquetar mi código para exponer solo las funciones principales. Mi directorio es así:

./ setup.py my_module/ __init__.py public_functions.py internal_modules/ __init__.py A.py B.py other_modules.py/ __init__.py C.py

En public_functions sí importo algunas operaciones de internal_modules.A pero NO de internal_modules.B , y tanto A.py como B.py usan algunas funciones de C.py

Mi setup.py es el siguiente:

from setuptools import setup setup(name=''my_module'', version=''0.1'', description=''my_awesome_module'', author=''Me'', author_email=''[email protected]'', license=''MIT'', packages=[''my_module''], zip_safe=False)

Quiero instalarlo con pip, pero no quiero dejar ninguno de mis archivos internal_modules visibles desde mi paquete una vez que esté instalado.

Podría instalarlo correctamente, pero cuando lo haga

from my_module import public_module

arroja ImportError: no module named internal_modules.A en la primera línea de public_module.py .

Sé que puedo solucionarlo si agrego my_module.internal_modules a mi declaración setup.py como otro paquete, pero esto permitirá que mis internal_modules A.py con A.py y B.py visibles desde el paquete instalado.

Encontré una pregunta similar aquí pero no funciona para mí