Closed benmwebb closed 3 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.
Warning sent out on the IMP-users mailing list.
We should no longer use Python 2 in IMP's develop branch, closing.
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
-python2
RPM and .deb subpackagessalilab
conda channelIMP._compat_pathlib
with plainpathlib
from future
importsThe 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.