2012-07-19 63 views
13

我剛創建了一個新的virtualenv,我想要運行我的pip install。不過,我得到這個錯誤:缺少使用要求的pip安裝的分佈規格錯誤

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

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 

到底哪裏出問題了?

回答

18

你一定在做錯事。喜歡的東西:pip install path/to/requirements.txt,但要求文件必須以-r參數傳遞:

pip install -r path/to/requirements.txt

擁抱。

+4

哈!我忘了'-r'標誌。而不是第一次......有一個錯誤消息指出了這一點仍然很好。謝謝。 – 2012-07-19 18:48:06

+0

我有一個〜在我的底部。試圖用vi找到這個錯誤並不容易:-)。 – brechmos 2015-05-30 19:17:55

15

如果有人像我一樣運行在同一個變體中,我想完成答案:我在Windows環境(Windows 7)上運行所有東西。在powershell下,我曾跑過

pip freeze > requirements.txt 

當我在一個新的virtualenv上測試時,出現了與上面相同的錯誤。這個問題是一個編碼問題(唉):確保requirements.txt文件是用UTF-8編寫的(沒有BOM)。記事本++或崇高的文本可以確保這一點。

希望它可以幫助其他人解決上面的問題。

+3

謝謝 - 看起來像powershell保存requirements.txt unicode – Pakman 2014-06-24 22:11:22

+1

謝謝,這解決了我的問題,它的表面,看起來完全像OP的。 – 2015-03-05 13:08:33

+0

這解決了我的問題,謝謝... – Akshay 2015-11-22 10:20:51

2

我的問題最終成爲在某些終端中, - 和 - 看起來完全一樣。我有-r,它拋出了這個錯誤。你想要-r。

0

如果你是推到Azure中,甚至使用UTF-8,你也可能遇到這個問題:

ValueError異常:( '缺失發行規範', '\ XEF \ XBB \ xbfDjango == 1.11.4' )

安全的方法是將requirements.txt另存爲ansi文件。

好吧,因爲你在窗戶上跑步