2016-07-12 45 views
11

Sto provando a far dipendere un progetto da una dipendenza git. Tuttavia, non riesco a farlo funzionare. Quello che fondamentalmente voglio ottenere è il seguente, ma non funziona:Dipende dal repository git in setup.py

#!/usr/bin/env python3 
from setuptools import setup 


setup(
    name='spam', 
    version='0.0.0', 
    install_requires=[ 
     'git+https://github.com/remcohaszing/pywakeonlan.git' 
    ]) 

Ho provato diverse varianti di quanto sopra, come l'aggiunta o @master#egg=wakeonlan-0.2.2, ma questo non fa la differenza.

I seguenti lavori, ma solo quando si utilizza il obsoleta pip bandiera, --process-dependency-links:

#!/usr/bin/env python3 
from setuptools import setup 


setup(
    name='spam', 
    version='0.0.0', 
    install_requires=[ 
     'wakeonlan' 
    ], 
    dependency_links=[ 
     'git+https://github.com/remcohaszing/pywakeonlan.git#egg=wakeonlan-0.2.2' 
    ]) 

This uscite:

$ pip install --no-index -e . --process-dependency-links 
Obtaining file:///home/remco/Downloads/spam 
    DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release. 
Collecting wakeonlan (from spam==0.0.0) 
    Cloning https://github.com/remcohaszing/pywakeonlan.git to /tmp/pip-build-mkhpjcjf/wakeonlan 
    DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release. 
Installing collected packages: wakeonlan, spam 
    Running setup.py install for wakeonlan ... done 
    Running setup.py develop for spam 
Successfully installed spam wakeonlan-0.2.2 

Il seguente funziona:

pip install 'git+https://github.com/remcohaszing/pywakeonlan.git' 

aggiungendo anche l'URL git in un file dei requisiti funziona solo.

C'è qualche non deprecato modo di dipendere da un url git utilizzando un file setup.py?

+1

No, le risposte suggeriscono di utilizzare il deprecato dependency_links. –

+1

un problema relativo al github: https://github.com/pypa/pip/issues/2023 - tuttavia non ho ancora visto una soluzione. – cel

+2

Al momento, sembrerebbe che non ci sia un modo non deprecato per fare questo: \ –

risposta

2

Pip> = 9,1 (commit 6ec559) avrà il supporto per il nuovo @ sintassi come descritto in PEP508, che prende il formato: [email protected]#sum - es:

pip install --no-index [email protected]://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4 

Questo sarà anche utilizzabile in setup.py nella stessa modo, ad esempio:

install_requires=['[email protected]://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4'] 

Si può provare questo fuori solo ora con l'ultimo impegnano a pip master (l'aggiornamento pip il modo 'sbagliato'!):

$ pip install https://github.com/pypa/pip/archive/master.zip 
$ pip install --no-index [email protected]://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4 
Collecting [email protected] https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4 
from https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4 
Downloading https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl 
Installing collected packages: packaging 
Successfully installed packaging-15.3 
Problemi correlati