Diferenças entre as construções do Framework e do não Framework do Python no Mac OS X

Questão

Quais são as diferenças entre uma compilação do Framework e uma compilação não-Framework (ou seja, compilação UNIX padrão) do Python no Mac OS X? Além disso, quais são as vantagens e desvantagens de cada um?

Pesquisa preliminar

Aqui está a informação que encontrei antes de postar esta pergunta:

[Pythonmac-SIG] Por que o build do Framework do Python é necessário?B. Grainger: "Eu pareço lembrar que uma compilação do Framework do Python é necessária se você quiser fazer qualquer coisa com o Mac GUI nativo. O meu entendimento está correto?"C. Barker: "Muito bonito - para acessar o Mac GUI, um aplicativo precisa estar em um pacote adequado de aplicativos Mac. A compilação do Framework fornece isso."Apple Developer Connection: Framework Definition"Uma estrutura é um pacote (um diretório estruturado) que contém uma biblioteca compartilhada dinâmica juntamente com recursos associados, como arquivos de ponta, arquivos de imagem e arquivos de cabeçalho. Ao desenvolver um aplicativo, seu projeto vincula a uma ou mais estruturas. Por exemplo, os projetos de aplicativos para iPhone são vinculados por padrão às estruturas Foundation, UIKit e Core Graphics Seu código acessa os recursos de uma estrutura por meio da interface de programação de aplicativos (API), que é publicada pela estrutura por meio de seus arquivos de cabeçalho. é compartilhado dinamicamente, vários aplicativos podem acessar o código e os recursos da estrutura simultaneamente.O sistema carrega o código e os recursos de uma estrutura na memória, conforme necessário, e compartilha a única cópia de um recurso entre todos os aplicativos ".Framework Programming Guide: O que são Frameworks?"Os frameworks oferecem as seguintes vantagens sobre bibliotecas vinculadas a estática e outros tipos de bibliotecas compartilhadas dinâmicas:Frameworks agrupam recursos relacionados, mas separados, juntos. Esse agrupamento facilita a instalação, a desinstalação e a localização desses recursos.Frameworks podem incluir uma variedade maior de tipos de recursos que bibliotecas. Por exemplo, uma estrutura pode incluir quaisquer arquivos de cabeçalho e documentação relevantes. Várias versões de uma estrutura podem ser incluídas no mesmo pacote. Isso possibilita a compatibilidade retroativa com programas mais antigos.Apenas uma cópia dos recursos somente leitura de uma estrutura reside fisicamente na memória a qualquer momento, independentemente de quantos processos estão usando esses recursos. Esse compartilhamento de recursos reduz o consumo de memória do sistema e ajuda a melhorar o desempenho ".fundo

Antes do Mac OS X 10.6 Snow Leopard, eu não tinha pensado muito sobre isso, já que simplesmente baixaria e instalaria oImagem de disco do Python 2.6.2 Mac Installer, que é uma estrutura de construção, e ir sobre o meu negócio usando virtualenv, pip, etc No entanto, com as mudanças no Snow Leopard para 64 bits, gcc, etc, tenho notado alguns problemas que me fizeram querer construir / compile Python 2.6.2+ eu mesmo a partir do código-fonte, o que me leva à minha pergunta sobre as diferenças e vantagens / desvantagens de construir o Python como uma estrutura MacOSX | Darwin.

questionAnswers(5)

yourAnswerToTheQuestion