2012-07-19 17 views
13

Ho appena creato un nuovo virtualenv in cui voglio eseguire il mio pip install. Tuttavia, sto ottenendo questo errore:Errore di distribuzione mancante con installazione pip dai requisiti

raise ValueError("Missing distribution spec", line) 
ValueError: ('Missing distribution spec', '/path/to/dir/requirements.txt') 

mio requirements.txt:

Django==1.3 
Jinja2==2.6 
MySQL-python==1.2.3 
PIL==1.1.7 
Pygments==1.5 
Sphinx==1.1.3 
Werkzeug==0.8.3 
django-debug-toolbar==0.9.4 
django-excel-response==1.0 
django-extensions==0.8 
docutils==0.9.1 
ipython==0.12 
wsgiref==0.1.2 

cosa c'è di sbagliato?

risposta

18

Stai facendo qualcosa di sbagliato. Qualcosa di simile: pip install path/to/requirements.txt, ma il file requisiti deve essere passato con -r argomento:

pip install -r path/to/requirements.txt

Abbracci.

+4

ha! Ho dimenticato la bandiera '-r'. E non è la prima volta ... Sarebbe comunque carino avere un messaggio di errore che lo faccia notare. Grazie. –

+0

Ho avuto un ~ in fondo al mio. Cercando di trovare quell'errore usando vi non era facile :-). – brechmos

15

Mi piacerebbe completare la risposta se qualcuno corre nella stessa variante che ho fatto: stavo girando tutto su un ambiente Windows (Windows 7). Sotto PowerShell avevo corse

pip freeze > requirements.txt 

Quando ho provato su un nuovo virtualenv, ho avuto lo stesso errore come sopra. Il problema era un problema di codifica (ugh): assicurati che il file requirements.txt sia scritto in UTF-8 (senza BOM). Notepad ++ o testo sublime possono esserne sicuri.

Spero che aiuti qualcun altro per il quale la risposta di cui sopra non è stata sufficiente.

+3

Grazie - sembra che powershell rispetti require.txt come unicode – Pakman

+1

Grazie, questo ha risolto il mio problema, che a prima vista sembrava esattamente come quello degli OP. –

+0

Questo ha risolto il mio problema grazie ... – Akshay

2

Il mio problema è che in alcuni terminali, - e - sembra esattamente lo stesso. Ho avuto -r e ha gettato questo errore. Vuoi -r.

0

se si stanno spingendo per Azure, anche con utf-8 si potrebbe anche incorrere in questo problema:

ValueError: ('Missing distribuzione spec', '\ XEF \ xbb \ xbfDjango == 1.11.4')

il modo sicuro è quello di salvare come requirements.txt come file ansi.

bene, dato che stai correndo su windows

Problemi correlati