pacote Python instalar usando pip ou easy_install de repos
-
06-07-2019 - |
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.
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.