pip install错误输出:SyntaxError:语法无效

时间:2018-04-17 20:59:05

标签: python pip python-requests virtualenv python-pex

尝试在CentOS6上安装virtualenv,requests或pex时,pip install不起作用。我在python2.6和pip 9.0.1上。谁能告诉我为什么会这样呢?

(pex_build)[root@pex pex_build]# pip install virtualenv

输出:

Traceback (most recent call last):
  File "/opt/pex_build/bin/pip", line 7, in <module>
    from pip._internal import main
  File "/opt/pex_build/lib/python2.6/site-packages/pip/_internal/__init__.py", line 42, in <module>
    from pip._internal import cmdoptions
  File "/opt/pex_build/lib/python2.6/site-packages/pip/_internal/cmdoptions.py", line 16, in <module>
    from pip._internal.index import (
  File "/opt/pex_build/lib/python2.6/site-packages/pip/_internal/index.py", line 526
    {str(c.version) for c in all_candidates},
                      ^
SyntaxError: invalid syntax

命令:

(pex_build) [root@pex pex_build]# pip install requests pex

输出:

Traceback (most recent call last):
  File "/opt/pex_build/bin/pip", line 7, in <module>
    from pip._internal import main
  File "/opt/pex_build/lib/python2.6/site-packages/pip/_internal/__init__.py", line 42, in <module>
    from pip._internal import cmdoptions
  File "/opt/pex_build/lib/python2.6/site-packages/pip/_internal/cmdoptions.py", line 16, in <module>
    from pip._internal.index import (
  File "/opt/pex_build/lib/python2.6/site-packages/pip/_internal/index.py", line 526
    {str(c.version) for c in all_candidates},
                      ^
SyntaxError: invalid syntax

当尝试获取get-pip.py

时,curl也会出现类似的错误

命令:

(pex_build) [root@pex pex_build]# curl https://bootstrap.pypa.io/get-pip.py | python



% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1602k  100 1602k    0     0  7373k      0 --:--:-- --:--:-- --:--:-- 14.6M

Traceback (most recent call last):
  File "<stdin>", line 20636, in <module>
  File "<stdin>", line 197, in main
  File "<stdin>", line 82, in bootstrap
  File "/tmp/tmp5zrn_f/pip.zip/pip/_internal/__init__.py", line 42, in <module>
  File "/tmp/tmp5zrn_f/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
  File "/tmp/tmp5zrn_f/pip.zip/pip/_internal/index.py", line 526
    {str(c.version) for c in all_candidates},
                      ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:3)

问题是你的Python版本被Python 2.6破坏了。如果升级到9.0.3,它应该再次运行。

  

pip install pip == 9.0.3

如果您无法使用pip升级pip,则可以使用本地软件包管理器重新安装软件包,然后升级到pip 9.0.3。

请记住,如果您使用的是虚拟环境,建议您也升级virtualenv,以便您的虚拟环境也具有pip 9.0.3。

  

pip install virtualenv == 15.2.0

小心但不要升级到高于9.0.3的pip版本或高于15.2.0的virtualenv,因为Prateek提到的Python 2.6支持已被删除。

答案 1 :(得分:2)

  

pip适用于CPython版本2.7,3.3,3.4,3.5,3.6以及pypy。

     

这意味着pip适用于每个版本的最新补丁版本   次要版本。尽力支持以前的修补程序版本   方法

只需使用以下命令即可升级到兼容的Python版本。

pip install requests

检查pip-documentation了解详情。

包括@ eandersson的评论

或者您可以将pip升级到9.0.3

pip install pip==9.0.3