【问题标题】:Issue with certain installs for extended package specification for requirements.txt when `pip install -r requirements.txt``pip install -r requirements.txt` 时,某些安装对 requirements.txt 扩展包规范的问题
【发布时间】:2020-03-29 00:50:34
【问题描述】:

在我的 requirements.txt 文件中,我有这个

torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

但是,当我尝试这样做时

pip install -r requirements.txt

我明白了

Invalid requirement: 'torch==1.4.0+cpu torchvision==0.5.0+cpu'
Traceback (most recent call last):
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\packaging\requirements.py", line 92, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\pyparsing.py", line 1617, in parseString
    raise exc
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\pyparsing.py", line 1607, in parseString
    loc, tokens = self._parse( instring, 0 )
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\pyparsing.py", line 1379, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\pyparsing.py", line 3376, in parseImpl
    loc, exprtokens = e._parse( instring, loc, doActions )
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\pyparsing.py", line 1383, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\pyparsing.py", line 3164, in parseImpl
    raise ParseException(instring, loc, self.errmsg, self)
pip._vendor.pyparsing.ParseException: Expected stringEnd (at char 17), (line:1, col:18)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\req\req_install.py", line 82, in __init__
    req = Requirement(req)
  File "c:\users\santosh\documents\github\zakta\zaktaenv2\lib\site-packages\pip\_vendor\packaging\requirements.py", line 96, in __init__
    requirement_string[e.loc:e.loc + 8]))
pip._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'torchvis'"

所以我认为它与扩展的 pip 命令有关,所以我认为我需要以某种方式在我的 requirements.txt 文件中对其进行不同的格式化,可能使用引号、$ 或 {}。

【问题讨论】:

标签: python pip requirements.txt


【解决方案1】:

已编辑:
正如@georgexsh 和@Klaus D. 所评论的,requirements.txt 不是 pip 的命令行,因此您需要摆脱这些命令并将两个包放在单独的行中。

这是requirements file format 上文档的链接。

您可以在requirements.txt 文件中简单地包含这两行:

torch==1.4.0
torchvision==0.5.0

然后运行

pip install -r requirements.txt

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-01-11
  • 1970-01-01
  • 2015-03-25
  • 1970-01-01
  • 2013-07-21
  • 2021-04-11
  • 2020-07-31
  • 2021-02-27
相关资源
最近更新 更多