raise ValueError("Expected "+item_name+" in",line,"at",line[p:]) ValueError: ('Expected version spec in', 'django~=1.9.0', 'at', '~=1.9.0')

raise ValueError("Expected "+item_name+" in",line,"at",line[p:]) ValueError: ('Expected version spec in', 'django~=1.9.0', 'at', '~=1.9.0')

我在 Windows 7 上关注 this tutorial 和 Python 3。但是我得到这个错误:

PS C:\Users\jalal> C:/Python34/python -m pip install django~=1.9.0
Exception:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 257, in run
    InstallRequirement.from_line(name, None))
  File "C:\Python34\lib\site-packages\pip\req.py", line 172, in from_line
    return cls(req, comes_from, url=url, prereleases=prereleases)
  File "C:\Python34\lib\site-packages\pip\req.py", line 70, in __init__
    req = pkg_resources.Requirement.parse(req)
  File "C:\Python34\lib\site-packages\pip\_vendor\pkg_resources.py", line 2667, in parse
    reqs = list(parse_requirements(s))
  File "C:\Python34\lib\site-packages\pip\_vendor\pkg_resources.py", line 2605, in parse_requirements
    line, p, specs = scan_list(VERSION,LINE_END,line,p,(1,2),"version spec")
  File "C:\Python34\lib\site-packages\pip\_vendor\pkg_resources.py", line 2573, in scan_list
    raise ValueError("Expected "+item_name+" in",line,"at",line[p:])
ValueError: ('Expected version spec in', 'django~=1.9.0', 'at', '~=1.9.0')

Storing debug log for failure in C:\Users\jalal\pip\pip.log

PS C:\Users\jalal> pip -v
The term 'pip' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
g of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:4
+ pip <<<<  -v
    + CategoryInfo          : ObjectNotFound: (pip:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我按照 Whosebug 响应中提到的那样使用 -r 标志进行了尝试,但是我收到了这个错误。

PS C:\Users\jalal> C:/Python34/python -m pip install -r django~=1.9.0
Could not open requirements file: [Errno 2] No such file or directory: 'django~=1.9.0'
Storing debug log for failure in C:\Users\jalal\pip\pip.log

这个问题的解决方案是什么?

更多信息:

pip 1.5.6 from C:\Users\jalal\myvenv\lib\site-packages (python 3.4)
(myvenv) PS C:\Users\jalal> pip freeze
(myvenv) PS C:\Users\jalal>

pip freeze 什么都不显示。

这是我在没有 -r 标志的情况下得到的结果:

PS C:\Users\jalal> C:/Python34/python -m pip install django~=1.9.0
Exception:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 257, in run
    InstallRequirement.from_line(name, None))
  File "C:\Python34\lib\site-packages\pip\req.py", line 172, in from_line
    return cls(req, comes_from, url=url, prereleases=prereleases)
  File "C:\Python34\lib\site-packages\pip\req.py", line 70, in __init__
    req = pkg_resources.Requirement.parse(req)
  File "C:\Python34\lib\site-packages\pip\_vendor\pkg_resources.py", line 2667, in parse
    reqs = list(parse_requirements(s))
  File "C:\Python34\lib\site-packages\pip\_vendor\pkg_resources.py", line 2605, in parse_requirements
    line, p, specs = scan_list(VERSION,LINE_END,line,p,(1,2),"version spec")
  File "C:\Python34\lib\site-packages\pip\_vendor\pkg_resources.py", line 2573, in scan_list
    raise ValueError("Expected "+item_name+" in",line,"at",line[p:])
ValueError: ('Expected version spec in', 'django~=1.9.0', 'at', '~=1.9.0')

Storing debug log for failure in C:\Users\jalal\pip\pip.log

我也尝试安装 pip 然后使用以下命令但仍然出现错误:

PS C:\Users\jalal> myvenv\Scripts\activate
(myvenv) PS C:\Users\jalal> pip install django~=1.9.0
Exception:
Traceback (most recent call last):
  File "C:\Users\jalal\myvenv\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Users\jalal\myvenv\lib\site-packages\pip\commands\install.py", line 257, in run
    InstallRequirement.from_line(name, None))
  File "C:\Users\jalal\myvenv\lib\site-packages\pip\req.py", line 172, in from_line
    return cls(req, comes_from, url=url, prereleases=prereleases)
  File "C:\Users\jalal\myvenv\lib\site-packages\pip\req.py", line 70, in __init__
    req = pkg_resources.Requirement.parse(req)
  File "C:\Users\jalal\myvenv\lib\site-packages\pip\_vendor\pkg_resources.py", line 2667, in parse
    reqs = list(parse_requirements(s))
  File "C:\Users\jalal\myvenv\lib\site-packages\pip\_vendor\pkg_resources.py", line 2605, in parse_requireme
    line, p, specs = scan_list(VERSION,LINE_END,line,p,(1,2),"version spec")
  File "C:\Users\jalal\myvenv\lib\site-packages\pip\_vendor\pkg_resources.py", line 2573, in scan_list
    raise ValueError("Expected "+item_name+" in",line,"at",line[p:])
ValueError: ('Expected version spec in', 'django~=1.9.0', 'at', '~=1.9.0')

Storing debug log for failure in C:\Users\jalal\pip\pip.log
(myvenv) PS C:\Users\jalal>

取消 -r 除非您正在从文件中读取。使用:

C:/Python34/python -m pip install django~=1.9.0

pip 版本 (1.5.6) 似乎无法识别 兼容版本 说明符 ~=

您可以尝试以下等同于~=1.9.0的版本规格:

pip install django>=1.9.0

或者:

pip install django==1.9.*

无论如何,您可能还想升级到最新版本的 pip 使用:

pip install --upgrade pip