57

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.

Colin Pickard
  • 44,639
  • 13
  • 95
  • 146
Sagar Acharya
  • 1,435
  • 2
  • 16
  • 34

5 Answers5

94

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.

phd
  • 69,888
  • 11
  • 97
  • 133
  • 6
    The upgrade command is not needed, as get-pip.py will install the latest supported version – Colin Pickard Feb 04 '21 at 16:16
  • 4
    @ColinPickard I prefer to be: a) explicit; b) to write down a command for future reference if a user would ever want to try to upgrade `pip` once again. – phd Feb 04 '21 at 16:19
  • This is fine. But what is the command for 3.5. After downloading from the link? – Shivani Jun 12 '21 at 14:13
  • 1
    @Shivani The same as in the post: `python get-pip.py` – phd Jun 12 '21 at 14:17
  • This does not work for me - pip stays in version 8.1.1 instead of the installed: ```Successfully installed pip-20.3.4``` – Roy Levy Aug 03 '21 at 14:18
  • @RoyLevy Fina all `pip` scripts in the `$PATH` (`type -a pip`) and remove excessive/old ones. – phd Aug 03 '21 at 14:47
10

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!

Instein
  • 978
  • 7
  • 11
1

This worked for me:On Mac:

Install pyenv as well as upgrade your python following the instructions on this here

Then in your terminal, if you run python -V and you still get the old version(system predefined version) showing:

To resolve this:

In your terminal run: alias python=python3

Then in your terminal execute python and you should now see that your system is using the python version you installed-:That is if you followed and completed the steps Here Correctly.

python switched

Restart your terminal(close/reopen):

Now you can finally install pip:

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

1:In your terminal execute :$ python -m ensurepip --upgrade

2: Download the script, from 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

Select the latest version:

pipversions page

Then select getpip.py link to get the file and save it into your directory on your machine:

get-pip cd into the folder where you saved the newly downloaded script and execute:

Then execute:

python get-pip.py

pippy folder

Pip installed successfully:

successfully installed

RileyManda
  • 2,376
  • 22
  • 30
1

For me python 3.5 on aws ec2 below worked curl -O https://bootstrap.pypa.io/pip/3.5/get-pip.py

Then sudo python3.5 get-pip.pyenter image description here

Narender
  • 19
  • 1
  • 1
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Nov 11 '21 at 06:23
0

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.

diviquery
  • 318
  • 4
  • 13