salilab / imp

The Integrative Modeling Platform
https://integrativemodeling.org
GNU General Public License v3.0
74 stars 30 forks source link

Drop Python 2 support #1092

Closed benmwebb closed 3 months ago

benmwebb commented 9 months ago

Python 2 has long since been retired. Many of the packages used by IMP (e.g. numpy, scipy) have dropped support for Python 2 so IMP with Python 2 must use old unmaintained versions of these packages. Testing is also more difficult as both GitHub Actions and conda-forge have dropped Python 2 support, so we must implement hacks to work around breakages (e.g. salilab/pmi@fa6295c6bf52673ae8a35ab21d72dcc99f43cf36).

The last major operating system that is still supported that ships with Python 2 is RedHat Enterprise 7. That reaches end-of-maintenance on June 30 2024. Plan to drop Python 2 support in IMP in the next stable release after this date, and require Python 3.6 or later.

Removal would entail

The Mac .dmg installer currently includes Python 2 support. Probably the best solution there is to drop this installer entirely (the code is suboptimal as the compiler is quite old, and it only supports the older x86_64 Macs) or possibly to build the installer on a much newer macOS version.

benmwebb commented 9 months ago

The "Fast" and "Release" nightly builds at https://integrativemodeling.org/nightly/results/ (which are also used for internal lab or Wynton workflows via module load imp/nightly) now build only for Python 3. The corresponding last stable release, when used for lab or Wynton workflows via module load imp/2.20.1, now emits a warning when imported by Python 2.

benmwebb commented 9 months ago

Warning sent out on the IMP-users mailing list.

benmwebb commented 3 months ago

We should no longer use Python 2 in IMP's develop branch, closing.