Pergunta

Atualmente, tenho várias versões do Python instaladas no meu Mac, a que veio com ele, uma versão que baixei recentemente do Python.org, uma versão mais antiga usada para executar o Zope localmente e outra versão que o AppEngine está usando. É uma espécie de bagunça. Alguma recomendação de usar uma versão do Python para governar todas elas? Como eu iria excluir versões mais antigas e vincular todos os meus aplicativos a uma única instalação. Algum gotchas específico do Mac que eu deveria conhecer? Isso é uma ideia idiota?

Foi útil?

Solução

Não há nada inerentemente errado em ter várias versões do Python. Às vezes, é uma necessidade ao usar aplicativos com dependências de versão. Provavelmente, o maior problema é lidar com dependências de pacote de site que podem variar de aplicativo para aplicativo. Ferramentas como virtualenv pode ajudar lá. Uma coisa que você deveria não O DO é tentar remover o python fornecido pela Apple em/System/Library/Frameworks e vinculado a/usr/bin/python. (Observe a discussão recente de várias versões aqui.)

Outras dicas

Ian Bicking's virtualenv Permite-me ter pitões isolados para cada aplicativo que eu construo e permite que eu decida se deve ou não incluir ou não os pacotes de sites globais no ambiente isolado do Python.

Eu não tentei com Zope, mas acho que o seguinte deve funcionar bem:

  1. Usando o python do seu zope, faça um novo VirtualEnv, com ou sem-não-pacote
  2. Coloque sua zope no VirtualEnv
  3. Ative o ambiente com $ venv/bin/ativação
  4. Instale os pacotes de sites necessários
  5. Execute sua zope usando o Python agora em $ venv/bin/python

Isso funcionou brilhantemente para gerenciar projetos de Django com várias versões de Python, Django e complementos.

Este artigo Parece entrar em mais detalhes sobre as especificidades de Grok e VirtualEnv, mas as generalidades devem se aplicar ao Zope também.

+1 para virtualenv.

Mesmo se você não precisar de diferentes versões do Python, ainda é bom manter suas dependências de desenvolvimento separadas do seu sistema Python.

Não tenho certeza do que você está usando, mas encontro esses Instruções muito úteis para colocar os ambientes de desenvolvimento do Python em execução no OSX.

A abordagem que prefiro que deve funcionar em todos os sistemas operacionais do tipo UNIX:

Crie para cada aplicativo que precisa de uma versão python específica uma conta de usuário. Instale em cada usuário contagem da versão Python correspondente com um prefixo local (como ~/build/python) e adicione ~/build/bin/à variável de ambiente do caminho do usuário. Instale/use seus aplicativos Python no usuário correto.

A vantagem dessa abordagem é o isolamento perfeito entre as instalações individuais do Python e a seleção relativamente conveniente do ambiente Python correto (justo su para o usuário apropriado). Além disso, o sistema operacional permanece intocado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top