Un uovo è solo un codice Python in bundle . In un URL git, l'uovo è il nome del progetto. Supporto VCS
Normalmente installiamo pacchetti Python da Pypi, quindi specifichi SOLO il nome e la versione del pacchetto (o presume l'ultima versione se non specifichi). Pypi cerca quindi quale uovo desideri e pip lo installa. pip install celery
installerebbe l'ultimo uovo pubblicato e pip install celery[redis]
installerebbe un uovo diverso che contiene lo stesso pacchetto di sedano e installa anche le ultime uova da qualsiasi pacchetto fosse elencato come dipendenze per redis in setup.py di sedano.
Con i percorsi git e gitlab, specifichi /{user|group}/{repository}.git@{tag}#egg={package-name}
. c'è una differenza tra #egg=celery
e #egg=celery[redis]
, ma provengono entrambi dallo stesso codice sorgente.
"tag" può anche essere un branch o un hash di commit oltre a un tag effettivo. Si presume che sia master
se non si specifica.
per esempio, git+https://github.com/celery/celery.git#egg=celery==4.3.0
controlla il ramo principale e lo installa. Anche se è stato specificato un numero di versione, non viene preso in considerazione durante l'installazione. IL NUMERO DELLA VERSIONE VIENE IGNORATO
Quando installi tramite git o altri URL VCS, dovrai trovare il tag o l'hash della versione che ti serve. Ad esempio, git+https://github.com/celery/celery.git@v4.3.0#egg=celery
che eseguirà il checkout del commit contrassegnato con "v4.3.0" e quindi installerà il pacchetto da quel codice sorgente. Supponendo che i manutentori non abbiano etichettato erroneamente i loro repository, puoi ottenere la versione che desideri in questo modo.
pip install
documentazione parla#egg=name
, ma non fornisce una risposta chiara.