Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

This list is currently in draft, if you find any change causing issues and that isn’t listed here so kindly add to the list.

Potential Steps to perform on a repo:

  • Run both python312_tox_modernizer and python312_gh_actions_modernizer scripts from the edx-repo-tools package if not done already.

    • You can also manually remove toxenv related to django32 and add django42

      • Add python312 in the python-version matrix value in CI

  • Run make upgrade with Python 3.12 virtualenv to update dependencies for Python 3.12

  • If needed, include setuptools in base.in and run make upgrade again to include it in all requirement files.

    • You may need to add --allow-unsafe parameter to override the default behavior of pip-compile command.

List all those major changes that can impact us while upgrading our services and packages.

  • [Python 3.12] setuptools isn't now pre-installed in Python 3.12 virtual environments, instead it should now be installed through pip explicitly.

    • Include setuptools in tox config sections wherever needed

    • You may need to add wheel in tox config for docs checks to work as well if python setup.py sdist bdist_wheel command fails with Python 3.12.

    • Add --allow-unsafe parameter in pip-compile command to make it possible to include setuptools in requirements files 

    • Run make upgrade to include setuptools in all requirements for Python 3.12 support

  • [Python 3.12] pact-python

    • Python 3.12 update needs pact-python>2.1.1 which will have the support of Python 3.12. The package owner has planned to release new version within the current week which will unblock this PR. For details, see the package author's comment pact-foundation/pact-python#422 (comment).

  • [Python 3.12] pyresttest

    • pyresttest doesn’t have Python 3.12 support and it has not been updated in last 8 years.

    • Need to find any fork or alternative of this package to upgrade api-manager.

  • [Python 3.12 + Django 4.2] backports.zoneinfo

    • We haven’t migrated from pytz to zoneinfo yet so the repos, where Django 4.2 by default import backports.zoneinfo as a dependency fail tests setup with Python 3.12.

    • To fix this issue, we need to add following pin in requirements/base.in and run make upgrade again.

      • backports.zoneinfo;python_version<"3.9"  # Can be removed once we upgrade to use zoneinfo

  • No labels