Skip to content

Latest commit

 

History

History
63 lines (44 loc) · 2.3 KB

2024-09-26-python-313.md

File metadata and controls

63 lines (44 loc) · 2.3 KB
authors tags
isuruf
infrastructure

Python 3.13 builds on conda-forge

conda-forge now supports Python 3.13 on conda. You can create a new environment with Python 3.13 by running the command:

conda create -n py313 python=3.13 -c conda-forge

This will create a new environment with Python 3.13 with the global interpreter lock (GIL) enabled. A migration is underway that builds Python extensions like those included in numpy and scipy as conda packages. The migration is 55% complete at the time of writing.

New in this Python release is the python-freethreading build which removes the GIL and enables free threading. To install a freethreading build, you can do:

conda create -n py313 python=3.13 python-freethreading -c conda-forge

Analogous to this package we also have a metapackage to explicitly install the GIL variant:

conda create -n py313 python=3.13 python-gil -c conda-forge

Note that there are no conda packages for freethreading Python extensions yet and we hope to start a migration for freethreading extensions in the coming weeks. Till then, you should use pip to install a package unless the package and all its Python dependencies are noarch in which case conda installing the package will work.

Another new feature of this release is the experimental just-in-time (JIT) compiler included in the Python interpreter. This interpreter is experimental, but can be used by setting the environment variable

export PYTHON_JIT=1

You can also use the convenience conda package to set this environment variable for you:

conda install python-jit

Note that the JIT is available only for x86_64 builds of python in conda.

You can also use debug builds of Python on conda-forge for non-Windows systems by using the conda-forge/label/python_debug label.

Any issues with python conda package itself can be reported at python-feedstock.

Acknowledgements

Thanks to Uwe Korn (@xhochy) for getting us started and for Jonathan Helmus (@jjhelmus) for guidance. Also thanks to conda-forge/core and all the maintainers of feedstocks in conda-forge for the hard work in getting the Python 3.13 migration underway.