2012-07-19 2 views
13

Je viens de créer un nouveau virtualenv dans lequel je veux exécuter mon pip install. Cependant, je reçois cette erreur:Erreur de spécification de distribution manquante à l'aide de pip installer à partir des exigences

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

Mon 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 

Qu'est-ce qui ne va pas?

Répondre

18

Vous devez faire quelque chose de mal. Quelque chose comme: pip install path/to/requirements.txt, mais le fichier des exigences doit être passé avec -r argument:

pip install -r path/to/requirements.txt

étreintes.

+4

ha! J'ai oublié le drapeau '-r'. Et pas la première fois ... Ce serait quand même bien d'avoir un message d'erreur qui le fait remarquer. Merci. –

+0

J'avais un ~ au fond du mien. Essayer de trouver cette erreur en utilisant vi n'était pas facile :-). – brechmos

15

Je voudrais compléter la réponse si quelqu'un court dans la même variante que moi: Je courais tout sur un environnement Windows (Windows 7). Sous Powershell, j'avais couru

pip freeze > requirements.txt 

Quand je l'ai testé sur un nouveau virtualenv, j'ai eu la même erreur que ci-dessus. Le problème était un problème d'encodage (ugh): assurez-vous que le fichier requirements.txt est écrit en UTF-8 (sans BOM). Notepad ++ ou texte sublime peut s'en assurer.

Espérons que cela aide quelqu'un d'autre pour ce que la réponse ci-dessus ne suffisait pas.

+3

Merci - ressemble à powershell enregistre requirements.txt comme unicode – Pakman

+1

Merci, cela a résolu mon problème, qui, à première vue, ressemblait exactement à l'OP. –

+0

Cela a résolu mon problème merci ... – Akshay

2

Mon problème finissant par être que dans certains terminaux, - et - regarder exactement la même chose. J'avais -r et il a jeté cette erreur. Vous voulez -r.

0

si vous poussent à Azure, même avec utf-8 vous pouvez également rencontrer ce problème:

ValueError: ('Missing spec de distribution', '\ xef \ xbb \ xbfDjango == 1.11.4'

la manière la plus sûre est d'enregistrer en tant qu'exigences.txt en tant que fichier ansi.

bien, étant donné que vous exécutez sur Windows

Questions connexes