Um ovo é apenas um código python empacotado . Em um url git, o ovo é o nome do projeto. Suporte VCS
Normalmente instalamos pacotes python de Pypi, então você especifica SOMENTE o nome do pacote e a versão (ou assume a versão mais recente se você não especificar). Pypi então procura por qual ovo você quer e o pip o instala. pip install celery
instalaria o último ovo publicado e pip install celery[redis]
instalaria um ovo diferente que contém o mesmo pacote de aipo e também instalaria os ovos mais recentes de quaisquer pacotes listados como dependências para redis no setup.py do aipo.
Com caminhos git e gitlab, você especifica /{user|group}/{repository}.git@{tag}#egg={package-name}
. há uma diferença entre #egg=celery
e #egg=celery[redis]
, mas ambos virão do mesmo código-fonte.
"tag" também pode ser um branch ou um hash de commit, além de uma tag real. Presume-se que seja master
se você não especificar.
por exemplo, git+https://github.com/celery/celery.git#egg=celery==4.3.0
verificaria o branch master e o instalaria. Mesmo que você tenha especificado um número de versão, ele não é levado em consideração na instalação. O NÚMERO DA VERSÃO ESTÁ IGNORADO
Ao instalar via git ou outros urls VCS, você vai querer encontrar a tag ou hash da versão que você precisa. Por exemplo, git+https://github.com/celery/celery.git@v4.3.0#egg=celery
que fará o checkout do commit com a tag "v4.3.0" e, em seguida, instalará o pacote desse código-fonte. Assumindo que os mantenedores não erraram em seus repositórios, você pode obter a versão que deseja assim.
pip install
documentação fala sobre#egg=name
, mas não dá uma resposta clara.