46
votes

I am starting to make a app using bitbucket CI and i am using the following steps to deploy the application and the steps to install pip is failing.

 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

Dont know why but python get-pip.py step fails with the following error.

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

This worked fine upto yesterday. Not sure why this is not working now.

I thought it may be because of windows but i checked in my local machine running linux but these steps but they worked fine.

3
@phd Thanks. I'd be glad to accept the answer if you post it. :) - Mike
To make it a better answer I need to know what Python version do you use? 2.7? - phd
@phd Its just used in bitbucket CI not sure about the version. so i presume its 2.7 - Mike

3 Answers

71
votes

pip 21.0 dropped support for Python 2 and 3.5. The later versions require Python 3.6+. The syntax f"" is supported by Python 3.6+.

To install pip for Python 2.7 install it from https://bootstrap.pypa.io/pip/2.7/ :

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

The last command is to upgrade to the latest supported version. For Python 2.7 the latest supported is currently pip 20.3.4.

For Python 3.4 install from https://bootstrap.pypa.io/pip/3.4/ . For Python 3.5 — https://bootstrap.pypa.io/pip/3.5/ .

For Python 3.4 the upgrade command is

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

I solved it by firstly run

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

and then

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

It seems reinstall my pip 20.3.4 and the error disappreared!

-1
votes

I have also tried all thing but my solution was download old get-pip version and install.

  1. download: curl -O https://bootstrap.pypa.io/2.7/get-pip.py the file get-pip.py
  2. install: python get-pip.py or python2 get-pip.py
  3. enjoy

This is worked on Debian systems.


Edit: A better solution is always to install a Python version that is long supported. If at all you need to work with an older version - only then must one resort to the above workaround.