在 python < 3.6 中安装 pip 不起作用

Installing pip is not working in python < 3.6

提问人:Sagar Acharya 提问时间:1/24/2021 最后编辑:Karl KnechtelSagar Acharya 更新时间:1/22/2023 访问量:83143

问:

我正在尝试将这些步骤与 bitbucket CI 一起使用来部署应用程序:

 script:
    - apt-get update
    - apt-get install -y python-dev
    - curl -O https://bootstrap.pypa.io/get-pip.py
    - python get-pip.py
    ... and a few more steps

但是,该步骤将失败,并出现以下错误:python get-pip.py

Traceback (most recent call last):
  File "get-pip.py", line 24226, in <module>
    main()
  File "get-pip.py", line 199, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 82, in bootstrap
    from pip._internal.cli.main import main as pip_entry_point
  File "/tmp/tmpUgc5ng/pip.zip/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^

SyntaxError: invalid syntax

为什么现在不行了?它是否取决于操作系统?


有关旧 Python 安装中升级 pip 的等效问题,请参阅升级 pip 失败并出现由 sys.stderr.write(f“ERROR: {exc}”) 导致的语法错误

python 点数

评论

1赞 phd 1/24/2021
stackoverflow.com/q/65866417/7976758,stackoverflow.com/q/65865755/7976758 stackoverflow.com/ 中发现...
0赞 Sagar Acharya 1/24/2021
@phd 谢谢。如果你发布它,我很乐意接受答案。:)
0赞 phd 1/24/2021
为了使它成为一个更好的答案,我需要知道你使用什么 Python 版本?2.7?
1赞 Sagar Acharya 1/24/2021
@phd 它只是在 bitbucket CI 中使用,不确定版本。所以我假设它是 2.7

答:

112赞 phd 1/24/2021 #1

pip21.0 放弃了对 Python 2 和 3.5 的支持。更高版本需要 Python 3.6+。Python 3.6+ 支持该语法。f""

要安装 Python 2.7,请从 https://bootstrap.pypa.io/pip/2.7/ 安装它:pip

- curl -O https://bootstrap.pypa.io/pip/2.7/get-pip.py
- python get-pip.py
- python -m pip install --upgrade "pip < 21.0"

最后一个命令是升级到最新的受支持版本。

评论

6赞 Colin Pickard 2/5/2021
不需要升级命令,因为 get-pip.py 将安装最新的受支持版本
4赞 phd 2/5/2021
@ColinPickard 我更喜欢:a)明确;b) 如果用户想要再次尝试升级,请写下命令以供将来参考。pip
0赞 Shivani 6/12/2021
这很好。但是 3.5 的命令是什么。从链接下载后?
1赞 phd 6/12/2021
@Shivani 与帖子中的内容相同:python get-pip.py
0赞 Roy Levy 8/3/2021
这对我不起作用 - pip 停留在 8.1.1 版而不是已安装的:Successfully installed pip-20.3.4
0赞 nonnaru 2004 1/31/2021 #2

我也尝试了所有方法,但我的解决方案是下载旧的 get-pip 版本并安装。

  1. 下载:文件curl -O https://bootstrap.pypa.io/2.7/get-pip.pyget-pip.py
  2. install: 或python get-pip.pypython2 get-pip.py
  3. 享受

这在 Debian 系统上是有效的。


编辑:更好的解决方案始终是安装长期支持的 Python 版本。如果您需要使用旧版本 - 只有这样才能求助于上述解决方法。

评论

0赞 Senior Pomidor 8/6/2023
/urllib3/util/ssl_.py:164:InsecurePlatformWarning:真正的 SSLContext 对象不可用。这会阻止 urllib3 正确配置 SSL,并可能导致某些 SSL 连接失败。您可以升级到较新版本的 Python 来解决此问题。有关详细信息,请参阅 urllib3.readthedocs.io/en/latest/...
11赞 Instein 6/1/2021 #3

我首先通过运行解决了它

python -m pip install --upgrade "pip < 19.2"

然后

python -m pip install --upgrade "pip < 21.0".

似乎重新安装我的 pip 20.3.4 并且错误被取消了!

评论

1赞 su27 6/1/2021
这很奇怪,但是,是的,它也解决了我的问题。
0赞 Martin 9/16/2021
同样的事情也发生在我身上。皮普真是太古怪了。
1赞 MintMelt 3/16/2022
你是救命恩人。安装 pip 显然是火箭科学,但这是可行的。
2赞 RileyManda 11/11/2021 #4

这对我有用:在Mac上:

按照此处的说明安装和升级您的 pythonpyenv

然后在您的终端中,如果您运行并且仍然显示旧版本(系统预定义版本):python -V

要解决此问题,请执行以下操作:

在终端运行中:alias python=python3

然后在您的终端中执行,您现在应该看到您的系统正在使用您安装的 python 版本-:也就是说,如果您正确地遵循并完成了此处的步骤。python

python switched

重新启动终端(关闭/重新打开):

现在你终于可以安装 pip:

Read more about pip instalation steps [here][3]

1:在您的终端中执行:$ python -m ensurepip --upgrade

2:从 https://bootstrap.pypa.io/get-pip.py 下载脚本。

But..**NB**: instead of navigating to the exact link provided,check out the available versions of pip here: 点播

选择最新版本:

pipversions page

然后选择 getpip.py 链接以获取文件并将其保存到计算机上的目录中:

get-pipcd 添加到保存新下载脚本的文件夹中,然后执行:

然后执行:

python get-pip.py

pippy folder

Pip 安装成功:

successfully installed

1赞 Narender 11/11/2021 #5

对我来说,下面的 aws ec2 上的 python 3.5 有效 卷曲 -O https://bootstrap.pypa.io/pip/3.5/get-pip.py

然后 sudo python3.5 get-pip.py在此处输入镜像描述

评论

1赞 Community 11/11/2021
您的答案可以通过其他支持信息进行改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。
-1赞 Kalyan Ram Kalipatnapu 6/23/2022 #6
  1. 卸载计算机上的现有 pip

  2. 在 ubuntu 或任何 linux 机器上运行此 cmd

    curl https://bootstrap.pypa.io/pip/3.5/get-pip.py -o get-pip.py
    python3 get-pip.py
    

它会起作用的

评论

0赞 AlexK 6/23/2022
正如目前所写的那样,你的答案尚不清楚。请编辑以添加其他详细信息,以帮助其他人了解这如何解决所提出的问题,并解释此答案与已发布的其他答案有何不同。您可以在帮助中心找到有关如何写出好答案的更多信息。
1赞 tripleee 6/28/2022
无论如何,这似乎是对先前答案的重述。