71

I am trying to use these steps with bitbucket CI to deploy an application:

 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

However, the python get-pip.py step fails with this 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

Why isn't it working now? Does it depend on the operating system?


For the equivalent issue with upgrading pip in old Python installations, see Upgrading pip fails with syntax error caused by sys.stderr.write(f"ERROR: {exc}").

Karl Knechtel
  • 62,466
  • 11
  • 102
  • 153
Sagar Acharya
  • 1,763
  • 2
  • 19
  • 38

6 Answers6

110

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
  • 82,685
  • 13
  • 120
  • 165
11

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
  • 2,484
  • 1
  • 9
  • 14
2

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,536
  • 25
  • 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
  • 569
  • 5
  • 19
  • /urllib3/util/ssl_.py:164: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings – Senior Pomidor Aug 06 '23 at 11:23
-1
  1. Uninstall existing pip on your machine

  2. Run this cmd in ubuntu or any linux machine

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

It will work

Wai Ha Lee
  • 8,598
  • 83
  • 57
  • 92
  • As it's currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked and to explain how this answer is different from others already posted. You can find more information on how to write good answers [in the help center](https://stackoverflow.com/help/how-to-answer). – AlexK Jun 23 '22 at 05:25
  • 1
    This seems to be a restatement of previous answers anyway. – tripleee Jun 28 '22 at 13:28