Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I wanted to use a python script compatible with python 2.7 (but not 3.8)

I need pip to make the script work but looks like I can't install pip anymore ? I tried with get-pip.py , but it's not working :

user@DESKTOP-J9T7UBF
$ get-pip.py
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
c:\users\user\appdata\local\temp\tmp2kztqk\pip.zip\pip\_vendor\urllib3\util\ssl_.py:387: SNIMissingWarning: An HTTPS request has been made, but the SNI (Server Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. 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
                why should it be accepted?  If you don't already have pip installed, you cannot possibly ask pip to upgrade itself
– Arunas
                Jul 29, 2022 at 17:26

The latest pip has dropped support for Python 2 And you cannot install the latest pip via get-pip.py using Python 2.7.

Update: Found an answer here with the script for Python 2.7 https://stackoverflow.com/a/65866547/429476.

You should upgrade to Python 3. You can use your Linux package manager if you using a Linux distro which have only Python2.7. Note - it installs an older version of Pip that that comes from above script.

If you installed Python from a package manager on Linux, you should always install pip for that Python installation using the same source. https://pip.pypa.io/en/stable/installing/ --> https://packaging.python.org/guides/installing-using-linux-tools/

# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1883k  100 1883k    0     0  6584k      0 --:--:-- --:--:-- --:--:-- 6584k
# python get-pip.py --user
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/tmpyG_UJ3/pip.zip/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
SyntaxError: invalid syntax
# sudo apt-get install python-pip
# python -m pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

Yeah pip has dropped it's support to python 2.7. If you still want to use it for python 2.7, downgrading the pip will help you:

sudo easy_install pip==20.3.4
python3 -m pip install --upgrade "pip==9"

  • Find where it has been installed to: python3 -m pip show pip

  • Copy to python2's PATH:

    sudo cp -r /home/usr/.local/lib/python3.8/site-packages/pip-9.0.0.dist-info/ /usr/local/lib/python2.7/dist-packages/

    sudo cp -r /home/raczb/.local/lib/python3.8/site-packages/pip /usr/local/lib/python2.7/dist-packages/

  • Check: python2.7 -m pip --version

  • Re-upgrade python3's pip.

    An other working solution based on get-pip.py that doesn't downgrade python3 pip version:

    curl 'https://raw.githubusercontent.com/pypa/get-pip/20.3.4/get-pip.py' -o get-pip.py
    python2 get-pip.py
    

    Explanation: pip 21.0 has dropped support for Python 2.7 in January 2021

    The problem seems to be that no specific version of pip was specified, and therefore, the script is trying to install the latest version (21 or later). Try specifying an older version, e.g.

    python get-pip.py 'pip==20.3.1'
    

    Documented: https://github.com/pypa/get-pip

    Thanks for your answer I tried to specify an older version but I got "ERROR: Invalid requirement: "'pip==20.3.1'" (I tried differents versions) – colorf Jan 4, 2021 at 6:02
  • Is this script only compatible with Python 2.7? Try to update the script to a non-deprecated version, then run it.

  • Open the Python 2.7 installer, go to Advanced options and look for an 'Install pip' checkmark, since in the later releases of Python did come with an 'Install pip' checkmark, in Advanced options.

  • Try attaining the module by manual methods i.e Look on the website of the desired module and install to C:\Python27\Scripts.

    If none of the above solutions are of assistance, I suggest you consult this article. I will inform you that Python 2.7 was considered as deprecated as of January 1st, 2020.

    Thanks for contributing an answer to Stack Overflow!

    • Please be sure to answer the question. Provide details and share your research!

    But avoid

    • Asking for help, clarification, or responding to other answers.
    • Making statements based on opinion; back them up with references or personal experience.

    To learn more, see our tips on writing great answers.

  •