Python: Criando pacotes e módulos

Republicado de codare.net

Palavras-chave: pacote, módulo, import

Criar um módulo em Python é extremamente simples. Basta apenas criar um arquivo .py dentro de algum diretório listado em sys.path. Alguns desenvolvedores também gostariam de fazer pacotes com módulos em Python. Esses pacotes permitiriam que o programador importasse seus módulos da seguinte maneira:

import meu_pacote.meu_subpacote.modulo
from outro_pacote.outro_subpacote import outro_modulo

Um pacote nada mais é do que um diretório no sistema de arquivos que possui um arquivo __init__.py dentro. Dentro do arquivo __init__.py, deve-se colocar o código de inicialização do pacote, bem como definir a variável __all__, que irá listar todos os símbolos que serão importados no comando from ... import *. No caso em que o arquivo __init__.py fica vazio todos símbolos do pacote serão importados.

Considere a seguinte estrutura:

# meu_pacote/
#    __init__.py -- vazio
#    meu_subpacote/
#       __init__.py -- vazio
#       modulo.py -- imprime "modulo importado"

A partir do diretório atual podemos fazer:

>>> import meu_pacote.meu_subpacote.modulo
modulo importado

Se os arquivos __init__.py não existissem um erro como este aconteceria:

>>> import meu_pacote.meu_subpacote.modulo
Traceback (most recent call last):
  File "", line 1, in ?
ImportError: No module named meu_pacote.meu_subpacote.modulo

Comentários