2013-08-16 13 views
12

Ecco lo scenario di esempio.Come posso fare in modo che gli strumenti di installazione installino un pacchetto PyPI con github forked?

C'è un pacchetto python not-mine e ho appena trovato un piccolo bug in esso. Trovo il codice sorgente su github e forzo il repository. Apporto le modifiche necessarie e invio una richiesta di pull. Sfortunatamente l'autore del pacchetto è in vacanza e ho una scadenza.

Ho bisogno di un modo per installare il mio repository biforcuto piuttosto che la versione degli autori che vive su PyPI. Ho provato il seguente senza successo:

install_requires = [ 
    'not-mine==1.0.0' 
], 
dependency_links = [ 
    'http://github.com/my-username/not-mine/tarball/master#egg=not-mine-1.0.0' 
] 

Cosa mi manca?

Risorse ho inciampato sulla mentre indaga la questione: How can I make setuptools install a package that's not on PyPI?

risposta

1

Si dovrebbe essere in grado di puntare pip l'URL del vostro repo biforcuta con il bugfix perché pipcan install directly from git repos.

$ pip install git+git://github.com/my-username/not-mine#egg=not-mine 

È possibile modificare il comando pip install per specificare un particolare commit, ramo, tag, ecc, con il simbolo "@" prima del "#".

$ pip install git+git://github.com/my-username/[email protected]_branch#egg=not-mine 
0

Se si desidera semplicemente installare il pacchetto biforcuta biforcuta sul proprio sistema si può semplicemente clonare il pacchetto al vostro sistema e utilizzare python setup.py install di comando per installare il pacchetto in locale sul vostro sistema.

Se è necessario distribuire l'applicazione con il proprio pacchetto modificato poi, vi consiglio di utilizzare il python virtual environment

0

È possibile fork del progetto e localmente clonarlo al sistema. Poi fare riferimento a questa forcella locale tramite seguente:

pip install -e ~/Repositories/some_local_fork_repo_path/ 

Dove "~/Repository/some_local_fork_repo_path /" è il percorso al progetto biforcuta clonato locale. Quindi puoi controllare quali diramazioni, ecc. Dettagli sull'altro progetto locale a forcella clonata indipendentemente da questo progetto semplicemente lavorando a quel progetto locale rispetto a questo progetto locale.

Problemi correlati