Pergunta

A maneira mais simples de lidar com instalações de pacotes python, até agora, para mim, tem sido a de verificar a fonte do sistema de controle de origem e, em seguida, adicionar um link simbólico na pasta python dist-pacotes.

É claro desde o controle de origem fornece o controle completo de downgrade, atualizar para qualquer ramo, tag, ele funciona muito bem.

Existe uma maneira usando um dos instaladores de pacote (easy_install ou pip ou outra), pode-se conseguir o mesmo.

easy_install obtém o tar.gz e instalá-los usando o setup.py install que instala nas dist-pacotes pasta no python2.6. Existe uma maneira de configurá-lo, ou pip para usar o sistema de controle de versão (SVN / GIT / Hg / Bzr) em vez.

Foi útil?

Solução

Usando pip isso é muito fácil. Por exemplo:

pip install -e hg+http://bitbucket.org/andrewgodwin/south/#egg=South

Pip automaticamente clone do repo fonte e executar "setup.py desenvolver" para que você possa instalá-lo em seu ambiente (que esperamos é uma virtualenv ). Git, Subversion, Bazaar e Mercurial são todos suportados.

Você também pode, em seguida, executar o "congelamento pip" e que irá imprimir uma lista de seus pacotes instalados atualmente com suas versões exatas (incluindo, por desenvolver-instala, a revisão exata do VCS). Você pode colocar esse em linha reta em um arquivo de requisitos e mais tarde executado

pip install -r requirements.txt

para instalar esse mesmo conjunto de pacotes no exato mesmas versões.

Outras dicas

Se você baixar ou confira a distribuição do código fonte de um pacote - a única que tem a sua "setup.py" dentro dele -, em seguida, se o pacote é baseado nas "setuptools" (que também poder easy_install), você pode vá para este diretório e dizer:

$ python setup.py develop

e ele irá criar os links simbólicos certas em dist-pacotes para que os arquivos .py na distribuição fonte são os que são importados, em vez de cópias instalado separadamente (que é o "setup.py install" faria - criar cópias separadas que não mudam imediatamente quando você editar o código fonte para tentar uma mudança).

Como o outro resposta indica, você deve tentar ler o "setuptools" documentação para saber mais. "Setup.py desenvolver" é um recurso muito útil! Tente usá-lo em combinação com um virtualenv, e você pode "setup.py desenvolver" sem dor e sem bagunçar Python seu todo o sistema com pacotes só estão desenvolvendo em temporariamente:

http://pypi.python.org/pypi/virtualenv

easy_install tem suporte para download de versões específicas. Por exemplo:

easy_install python-dateutil==1.4.0

Será instalar v1.4, enquanto a última versão 1.4.1 seria escolhido se nenhuma versão foi especificado.

Há também suporte para checkouts do SVN, mas usando que não dar-lhe muito os benefícios de sua versão manual. Consulte o manual para obter mais informações acima.

Ser capaz de mudar para ramos específicos raramente é útil a menos que você está desenvolvendo os pacotes em questão, e, em seguida, que não é normalmente uma boa idéia para instalá-los em site-packages de qualquer maneira.

easy_install aceita uma URL para a árvore fonte também. Obras, pelo menos quando as fontes estão em Subversion.

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