Tentarei responder a isso sem usar termos que os primeiros iniciantes usariam, e explicarei por que ou como eles usaram de forma diferente, junto com o uso mais "oficial" e / ou mais compreendido ou uniforme dos termos.
Pode ser confuso, e eu me confundi pensando muito, então não pense muito sobre isso. De qualquer forma, o contexto é muito importante.
Biblioteca - na maioria das vezes se refere à biblioteca geral ou outra coleção criada com um formato e uso semelhantes. A Biblioteca Geral é a soma de Módulos 'padrão', populares e amplamente usados, que podem ser considerados como ferramentas de arquivo único, por enquanto ou atalhos que tornam as coisas possíveis ou mais rápidas. A biblioteca geral é uma opção que a maioria das pessoas habilita ao instalar o Python. Por ter esse nome "Biblioteca Geral do Python", é freqüentemente usada com estruturas e ideias semelhantes. Witch é simplesmente ter um monte de Módulos, talvez até pacotes agrupados, geralmente em uma lista. A lista geralmente é para baixá-los. Geralmente são apenas arquivos relacionados, com interesses semelhantes. Essa é a maneira mais fácil de descrever.
Módulo - um módulo se refere a um arquivo. O arquivo tem um script 'nele' e o nome do arquivo é o nome do módulo, os arquivos Python terminam com .py. Tudo o que o arquivo contém é código executado em conjunto para que algo aconteça, usando funções, strings etc. Os módulos principais que você provavelmente vê com mais frequência são populares porque são módulos especiais que podem obter informações de outros arquivos / módulos. É confuso porque o nome do arquivo e do módulo são iguais e apenas eliminam o .py. Na verdade, é apenas um código que você pode usar como um atalho escrito por alguém para tornar algo mais fácil ou possível.
Pacote - Este é um termo geralmente usado às vezes, embora o contexto faça uma diferença. O uso mais comum de minha experiência são vários módulos (ou arquivos) que são agrupados. O motivo pelo qual eles estão agrupados pode ser por alguns motivos, ou seja, quando o contexto é importante. Estas são as maneiras que percebi no (s) termo (s) pacote (s)usava. Eles são um grupo de módulos baixados, criados e / ou armazenados. O que pode ser verdade, ou apenas 1, mas na verdade é apenas um arquivo que faz referência a outros arquivos, que precisam estar na estrutura ou formato correto, e toda essa soma é o próprio pacote, instalado ou pode ter sido incluído no biblioteca geral do python. Um pacote pode conter módulos (arquivos .py) porque eles dependem uns dos outros e às vezes podem não funcionar corretamente ou nem funcionar. Sempre há um objetivo comum para cada parte (módulo / arquivo) de um pacote, e a soma total de todas as partes é o próprio pacote.
Na maioria das vezes, em Python, os Pacotes são Módulos, porque o nome do pacote é o nome do módulo que é usado para conectar todas as peças. Então você pode inserir um pacote porque é um módulo, também permite que ele chame outros módulos, que não são pacotes porque eles desempenham apenas uma determinada função, ou a tarefa não envolve outros arquivos. Os pacotes têm um objetivo e cada módulo trabalha em conjunto para atingir esse objetivo final.
A maior parte da confusão vem de um simples nome de arquivo de arquivo ou prefixo de um arquivo, usado como o nome do módulo e novamente o nome do pacote.
Lembre-se de que os módulos e pacotes podem ser instalados. Biblioteca é geralmente um termo genérico para listar ou formatar um grupo de módulos e pacotes. Muito parecido com a biblioteca geral Pythons. Uma hierarquia não funcionaria, as APIs não pertencem realmente, e se você pertencesse, elas poderiam estar em qualquer lugar e em todos os ware envolvendo Script, Módulo e Pacotes, a biblioteca worl sendo uma palavra tão geral, facilmente aplicada a muitas coisas, também torna a API capaz sentar acima ou abaixo disso. Alguns módulos podem ser baseados em outro código, e essa é a única vez que acho que se relacionaria a uma discussão puramente relacionada ao Python.