Pipenv: Drop Support for Python2

Created on 19 May 2020  路  6Comments  路  Source: pypa/pipenv

Python2 was EOL'ed earlier this year and thus it may be worth considering dropping support for python2. Ideally this would reduce the complexity of the project making it easier to manage, test and release.

Pros:

  • Dropping python2 as a requirement would reduce complexity
  • Smaller unit test matrix resulting in faster tests and less timeouts
  • Python3 represents a significant majority of python users

    • According to Jet Brain's May 2020 survey 90% of python developers use python 3 now

    • According to the same survey Python2 usage is has dropped 40% year-over-year for the last 2 years in a row

Cons:

  • Python2 users would not receive any new versions (But they would be able to continue to use version 2018.11.26 2020.6.2)

Note: Initially, this was suggested in #3369 under https://github.com/pypa/pipenv/issues/3369#issuecomment-630557465 as it appears that a python2 / cross support issue delayed the 2020 release. I've moved the discussion for dropping python2 here as to avoid further polluting the original ticket.

Development Discussion Type

Most helpful comment

Also we could consider dropping Python 3.4.

All 6 comments

This is definitely something we could consider; I suspect we will look to coincide with pip dropping support which I believe is still a few months away. Once we do drop python 2 support we should be able to make some substantial gains in terms of performance and cleanup, so I think we are all excited.

I suspect we will look to coincide with pip dropping support which I believe is still a few months away.

Pip 20.3 (October 2020) will be the last version to support Python 2.7, and pip 21.0 (January 2021) will be the first version to drop it.

Also we could consider dropping Python 3.4.

Before dropping there should be a simple command to switch from python2 printed out each time you run the tool under python2. For example:

Warning, you are running pipenv under python2, python2 support is to be dropped
Use python3 -m pipenv install pipenv to switch to use python3 (or whatever the command is)

See for more details at https://github.com/pypa/pipenv/issues/4261
and at https://www.python.org/doc/sunset-python-2/

imagine a python environment manager that only supports some of your environments
this project is completely braindead

And what about Python 3.5? It has reached its EOL recently, and probably could also be dropped.

Sources:

Was this page helpful?
0 / 5 - 0 ratings