2013-10-28 15 views
6

Sto lavorando con Python e git su un semplice progetto di Turbogears2 che ho costruito solo per divertimento. In un certo momento voglio schierarlo a Heroku, così faccio la solita pip freeze > requirements.txt e ottengo questo errore:Freeze Pip mi dà questo errore relativo a git

Error when trying to get requirement for VCS system Command /usr/bin/git config 
remote.origin.url failed with error code 1 in /home/ricardo/myprojs/hellotg22/example, 
falling back to uneditable format 

E nel requirements.txt che esso produce, quotata tra tutte le dipendenze, trovo questa linea, whi non ha un bell'aspetto:

... 
decorator==3.4.0 
## !! Could not determine repository location 
example==0.1dev 
... 

Qualcuno sa qual è il problema?

In ogni caso, sono riuscito a ottenere il file requirements.txt, ma mi piacerebbe sapere cosa sta succedendo con quell'errore.

risposta

9

Il repository git non ha "origine", quindi pip non è in grado di rilevare l'URL remoto del repository. Questo avrebbe dovuto essere già fissata nel PIP come indicato nel https://github.com/pypa/pip/issues/58

tenta di aggiornare pip o aggiungere una remota origine al repository git

+0

Ciao. Ho aggiornato pip con 'sudo pip install --upgrade distribute' all'interno del suo ambiente virtuale, ma continua a darmi lo stesso errore. – Xar

+2

Ma aggiungendo il telecomando, sembra aver risolto il problema. Grazie! – Xar

0

Provare a usare pip freeze -l poiché funziona anche all'interno di un ambiente virtuale. Quindi il tuo comando sarebbe quindi pip freeze -l > requirements.txt. Io uso questo e funziona bene.

Secondo il menu di aiuto:

Freeze Options: 
    -l, --local     If in a virtualenv that has global access, do not output globally- 
           installed packages. 
+0

Vedo che hai avuto lo stesso problema su Github. Questa soluzione ha funzionato davvero per te? (Stessi risultati per me.) –

+0

Sì, questo è quello che uso e funziona bene. – reubano

+0

Non modifica l'output dell'errore di 'pip == 7.1.2'. –

5

mi è stato sempre questo errore mentre si lavora in un modificabile installazione (pip install -e .) del mio progetto. Così ho aggiunto un telecomando localhost (git remote add origin [email protected]:the_project_name) e ora pip freeze non si lamenta più. Ho avuto l'idea da https://linuxprograms.wordpress.com/2010/05/10/how-to-set-up-a-git-repository-locally/

+0

L'aggiunta di un 'origine' lo risolve chiaramente. L'idea di questo fittizio 'origine' è davvero pulita. –

Problemi correlati