从需求中使用pip install丢失分发规范错误

时间:2012-07-19 18:22:28

标签: django virtualenv pip

我刚刚创建了一个新的virtualenv,我想运行我的pip install。但是,我收到了这个错误:

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

出了什么问题?

4 个答案:

答案 0 :(得分:18)

你一定做错了。类似于:pip install path/to/requirements.txt,但必须使用-r参数传递需求文件:

pip install -r path/to/requirements.txt

拥抱。

答案 1 :(得分:15)

如果有人和我一样运行同一个变种,我想完成答案:我在Windows环境中运行所有内容(Windows 7)。在powershell下,我跑了

pip freeze > requirements.txt

当我在一个新的virtualenv上测试时,我遇到了与上面相同的错误。问题是编码问题(呃):确保requirements.txt文件是用UTF-8(没有BOM)编写的。 Notepad ++或sublime文本可以确保这一点。

希望上述答案不足以帮助其他人。

答案 2 :(得分:2)

我的问题最终是在某些终端, - 和 - 看起来完全一样。我有-r并且它抛出了这个错误。你想要-r。

答案 3 :(得分:0)

如果您要推送到Azure,即使使用utf-8,您也可能会遇到此问题:

ValueError :('缺少分发规范' \#39; \ xef \ xbb \ xbfDjango == 1.11.4')

安全的方法是将requirements.txt另存为ansi文件。

好吧,鉴于你在Windows上运行