curl for get-pip.py不起作用:语法错误

时间:2018-04-26 14:33:41

标签: curl pip python-3.5 centos6 python-2.6

当我尝试跑步时:

[root@pex appliance_ui]# 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 1603k  100 1603k    0     0  7006k      0 --:--:-- --:--:-- --:--:-- 13.2M
Traceback (most recent call last):
  File "<stdin>", line 20649, in <module>
  File "<stdin>", line 197, in main
  File "<stdin>", line 82, in bootstrap
  File "/tmp/tmpH39pcu/pip.zip/pip/_internal/__init__.py", line 42, in <module>
  File "/tmp/tmpH39pcu/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
  File "/tmp/tmpH39pcu/pip.zip/pip/_internal/index.py", line 526
    {str(c.version) for c in all_candidates},
                      ^
SyntaxError: invalid syntax

此外,

[root@pex appliance_ui]# python get-pip.py --verbose

输出:

python: can't open file 'get-pip.py': [Errno 2] No such file or directory

谁能告诉我为什么会这样? 我有Python 2.6和pip 9.0.1。我的目标是在整个项目中尽快升级到python 3.5。

1 个答案:

答案 0 :(得分:3)

您在python找到的Python版本并不支持集合理解。我可以看到在Python 2.4中尝试{str('foo') for c in [1,2,3]}的相同错误,而不是它工作的2.7。

根据答案herethe note in this section of the pip installation documentation,您应该将此网址用于2.6上的get-pip.py:https://bootstrap.pypa.io/2.6/get-pip.py

您还可以看到Python 2.7是此处列出的最早支持的版本:https://pip.pypa.io/en/stable/installing/#python-and-os-compatibility

至于[Errno 2] No such file or directory,因为curl将文件内容放在标准输出上,而不是放在文件系统上。如果您要下载该文件,请使用wget