2012-07-19 8 views
13

Właśnie stworzyłem nowy virtualenv, w którym chcę uruchomić mój pip install. Jednak dostaję ten błąd:Brak błędu specyfikacji dystrybucji przy użyciu instalacji pip z wymagań

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

Moja 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 

Co jest nie tak?

Odpowiedz

18

Musisz zrobić coś złego. Coś jak: pip install path/to/requirements.txt, ale plik wymagania muszą być przekazywane z -r argumentu:

pip install -r path/to/requirements.txt

Uściski.

+4

ha! Zapomniałem flagi '-r'. I nie po raz pierwszy ... Byłoby miło mieć komunikat o błędzie, który wskazuje na to. Dzięki. –

+0

Miałem ~ u dołu. Próba znalezienia tego błędu za pomocą vi nie była łatwa :-). – brechmos

15

Chciałbym ukończyć odpowiedź, jeśli ktoś działa w tym samym wariancie co ja: Byłem uruchomiony wszystko w środowisku Windows (Windows 7). Podczas działania powłoki wykonałem

pip freeze > requirements.txt 

Kiedy testowałem na nowym virtualenv, miałem taki sam błąd jak powyżej. Problem polegał na problemie z kodowaniem (ugh): upewnij się, że plik requirements.txt został zapisany w UTF-8 (bez BOM-a). Notepad ++ lub wysublimowany tekst mogą to zapewnić.

Mam nadzieję, że pomoże to komuś innemu, dla którego powyższa odpowiedź była niewystarczająca.

+3

Dzięki - wygląda jak Power Shell zapisuje wymagania.txt jako Unicode – Pakman

+1

Dzięki, to rozwiązało mój problem, który na pierwszy rzut oka wyglądał dokładnie tak jak OP. –

+0

To rozwiązało mój problem dzięki ... – Akshay

2

Mój problem kończy się na tym, że w niektórych terminalach - i - wygląda dokładnie tak samo. Miałem -r i to spowodowało ten błąd. Chcesz -r.

0

jeśli naciskają na Azure, nawet z UTF-8 można również uruchomić na ten problem:

ValueError: ('Missing specyfikację dystrybucji', '\ XEF \ Xbb \ xbfDjango == 1.11.4')

Bezpiecznym sposobem jest zapisanie jako pliku requirements.txt jako pliku ansi.

cóż, biorąc pod uwagę, że korzystasz z systemu Windows

Powiązane problemy