Support Python 3.10?

Are there any plans to support Python 3.10?

5 Likes

Python 3.10 will be released in October 2021, so it will be supported in the next TF release after that, assuming all dependencies will be migrated by release time.

4 Likes

Thank you very much for the update Mihai!

1 Like

Also, support for Python 3.9 is planned for TensorFlow 2.5.

2 Likes

As Python 3.10 has been released this week, here’s an update on the status:

Because python 3.10 has been released after TensorFlow 2.7 branch cut we couldn’t include it in the list of release jobs for TF 2.7.

However, we have it on the roadmap for TF 2.8 at the end of the year. Nightly releases with py3.10 support should happen quite soon and then the final release will have all the jobs.

Of course, this is all pending on our dependencies having the needed support.

1 Like

Currently I think wrapt and h5py are still not available as binary for python 3.10.

1 Like
1 Like

Build Python 3.10 wheels for Mac by takluyver · Pull Request #1987 · h5py/h5py · GitHub has now landed and released in h5py v3.6.

1 Like

Awesome. Thank you for the updates.

We should then have nightly jobs soon, probably around next week.

Considering our python 3.10 support I want to add just a side note. I hope to be not too much off topic.

In numpy NEP 0029 DROP schedule I currently see:

On Dec 26, 2021 drop support for Python 3.7 (initially released on Jun 27, 2018)

This is quite interesting as for python 3.8 stats we already have some compatibility peak of 43.5% with manylinux_2_31 (PEP 600).

Why manylinux_2_31 stats are so interesting?
Cause currently we need to handle the overhead of build/porting Centos devtoolset in our Ubuntu based images just for producing manylinux_2010 wheels:

https://github.com/tensorflow/build/blob/master/tf_sig_build_dockerfiles/Dockerfile#L10-L15

As you can see there we already work with Ubuntu 20.04 that is manylinux_2_31 compliant to build and distribute our wheels.

So monitoring these stats, when we evaluate that we have enough support numbers, we could remove this build, download, management and disk size overhead devtoolset layer overhead.

We now have nightly Python3.10 wheels for Linux and MacOS. You can get them via pip install tf-nightly on the corresponding operating system

With the branch cut happening today, we will soon also have Python 3.10 wheels on TF 2.8 RC0 and later.

2 Likes

does nightly version work on windows with python 3.10?

No, not yet. Missing protobuf dependency, that would likely be released in January so we cannot do anything until then

I’m having some serious issues with installing tensorflow on my laptop for vscode. Could the reason be that tensorflow doesn’t fully support python 3.10.1?

Which version of TF are you installing?

does tf2.8-rc0 supports python 3.10 now?

Yes, except on Windows (protobuf dependency not supporting Windows + py3.10)

that’s a good news. I will try on ubuntu machine ^^

1 Like

Is there any estimate on when Windows + py3.10 support will be released, or is there a prior version of Python I should revert to for now? Thanks!

We should be able to do RC1 this week. Otherwise, Python 3.7 to Python 3.9 are supported versions.

3 Likes