【问题标题】:Missing distribution spec error using pip install from requirements使用要求中的 pip install 缺少分发规范错误
【发布时间】:2012-07-19 00:02:29
【问题描述】:

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

出了什么问题?

【问题讨论】:

    标签: django virtualenv pip


    【解决方案1】:

    如果你正在推送到 Azure,即使使用 utf-8,你也可能会遇到这个问题:

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

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

    好吧,假设你在 Windows 上运行

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        pip freeze > requirements.txt
        

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

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

        【讨论】:

        • 谢谢 - 看起来 powershell 将 requirements.txt 保存为 unicode
        • 谢谢,这解决了我的问题,从表面上看,它看起来就像 OP 的一样。
        【解决方案4】:

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

        pip install -r path/to/requirements.txt

        拥抱。

        【讨论】:

        • 哈!我忘记了-r 标志。而且不是第一次......虽然有一个错误消息指出这一点仍然很好。谢谢。
        • 我的底部有一个~。尝试使用 vi 找到该错误并不容易:-)。
        猜你喜欢
        • 1970-01-01
        • 2012-06-21
        • 1970-01-01
        • 2011-11-16
        • 2018-02-03
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 2019-05-10
        相关资源
        最近更新 更多