Python 3.13 Release candidate builds on conda-forge
conda-forge now supports Python 3.13 release candidates 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/label/python_rc -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. Once the first final release of
python
3.13 is available the python_rc
label will not be needed
anymore.
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/label/python_rc -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 cpython-gil -c conda-forge/label/python_rc -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.