14

我刚刚创建了一个新的 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

4 回答 4

19

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

pip install -r path/to/requirements.txt

拥抱。

于 2012-07-19T18:44:02.870 回答
15

如果有人在与我相同的变体中运行,我想完成答案:我在 Windows 环境(Windows 7)上运行所有东西。在powershell下,我跑了

pip freeze > requirements.txt

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

希望它可以帮助其他任何人,因为上面的答案还不够。

于 2014-06-09T12:53:12.443 回答
2

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

于 2015-10-13T15:19:45.943 回答
0

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

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

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

好吧,鉴于您在 Windows 上运行

于 2017-09-22T06:28:49.050 回答