Módulo vs. Pacote?

137

Sempre que eu faço from 'x' import 'y' eu queria saber qual deles é considerado o 'módulo' e qual é o 'pacote', e por que não é o contrário?

    
por Dark Templar 01.10.2011 / 22:08
fonte

1 resposta

188

Um módulo Python é simplesmente um arquivo fonte do Python, que pode expor classes, funções e variáveis globais.

Quando importado de outro arquivo de origem Python, o nome do arquivo é tratado como um namespace.

Um pacote Python é simplesmente um diretório de módulo (s) Python.

Por exemplo, imagine a seguinte árvore de diretórios em /usr/lib/python/site-packages :

mypackage/__init__.py <-- this is what tells Python to treat this directory as a package
mypackage/mymodule.py

Então você faria:

import mypackage.mymodule

ou

from mypackage.mymodule import myclass
    
por 01.10.2011 / 23:51
fonte