2012-03-21 11 views
10

Stiamo utilizzando un file requirements.txt per archiviare tutti i moduli esterni necessari. Ogni modulo tranne uno è raccolto da internet. L'altro è memorizzato in una cartella sotto quella che contiene il file requirements.txt.utilizza un percorso relativo in requirements.txt per installare un file tar.gz con pip

BTW, questo modulo può essere facilmente installato con pip installare

Ho provato con questo:

file:folder/module 

o questo:

file:./folder/module 

o anche questo:

folder/module 

ma genera sempre un errore Qualcuno sa qual è il modo giusto per farlo?

Grazie

risposta

16

Nella versione corrente di pip (1.2.1) il modo percorsi relativi in ​​un file requisiti sono interpretati è ambigua e semi-rotti. C'è una questione aperta sul repository pip che spiega i vari problemi e le ambiguità in maggior dettaglio:

https://github.com/pypa/pip/issues/328

farla breve l'implementazione corrente non corrisponde alla descrizione nella documentazione pip, così come di questa scrittura non esiste un modo coerente e affidabile per utilizzare i percorsi relativi in ​​requirements.txt.

Detto questo, inserendo il seguente nel mio requirements.txt:

./foo/bar/mymodule 

opere quando c'è un setup.py al livello più alto della directory mymodule. Notare la mancanza della designazione del protocollo file:: e l'inclusione del numero iniziale ./. Questo percorso non è relativo al file requirements.txt, ma piuttosto alla directory di lavoro corrente. Pertanto è necessario per navigare nella stessa directory del requirements.txt e quindi eseguire il comando:.

pip install -r requirements.txt 
+3

anche se '/' sembra funzionare in questo modo '' ../ non lo fa, nemmeno rispetto a CWD, e non ho nemmeno provato './../' – dashesy

Problemi correlati