building python 3.11 beta 4 on fedora 36

It’s that time again when a new Python version is released. In this instance it’s a beta release, version 3.11 beta 4 ( https://pythoninsider.blogspot.com/2022/07/python-3110b4-is-now-available.html ). I don’t normally build a Python beta, preferring to wait until the official release, but I’ve made an exception because of one promised feature, that being an increase in execution performance (faster startup and faster runtime). The Python language developers are pushing for up to a 60% increase in script performance ( https://docs.python.org/3.11/whatsnew/3.11.html#faster-cpython ).

I’ve yet to try out any benchmarks on my own, instead focusing on building Python on my little rig. Which leads to the first challenge, making sure that all the necessary support libraries in installed so that all the Python internal features are built. Because this is Fedora, and all my other builds have been in Debian/Ubuntu, I had to discover the equivalents for Fedora. This is the script I modified to install all the necessary build dependencies.

#!/usr/bin/bash
#
# Still need to build _uuid and nis modules.
#
sudo dnf install zlib-devel -y
sudo dnf install ncurses-devel -y
sudo dnf install gdbm-devel -y
sudo dnf install nispor-devel -y
sudo dnf install uuid-devel -y
sudo dnf install openssl-devel -y
sudo dnf install readline-devel -y
sudo dnf install sqlite-devel -y
sudo dnf install tk -y
sudo dnf install tk-devel -y

As noted in the comment, I can build everything except _uuid and nis. Everything else builds, especially SSL support. SSL support is needed for pip and venv. I used the standard instructions for building and installing here ( https://arcanesciencelab.wordpress.com/2022/01/17/installing-python-3-10-2-on-pop_os-20-10/ ) and once I’d created a new virtual environment, I followed my instructions here for duplicating my 3.10 virtual environment in 3.11 beta 4 here ( https://arcanesciencelab.wordpress.com/2022/05/20/migrating-a-python-3-9-virtual-environment-to-python-3-10/ ).

And I’m done. I’ll uninstall the beta when the release candidates start to arrive. In the mean time I’ll tinker with this, trying out some of the very new features.

4 thoughts on “building python 3.11 beta 4 on fedora 36

    • If you are running Linux Mint Una, that’s version 20.3, which is based on Ubuntu 20.04 LTS. That version of Ubuntu only has Python 3.8. You should not install Python 2.7 because Python 2 reached End Of Life on 1 January 2020. If that version of Linux Mint insists on installing Python 2.7, then you should seriously consider installing LMDE 5, or Linux Mint Debian Edition. That’s based on Debian 11/bullseye and does not come with Python 2.7.

      Like

  1. Thanks! I thought there was something a bit odd about that. Possibly it’s because there are two kernels installed (which can be switched between) so it’s offering old version updates for things as well as the latest? Linux is not the clearest when it comes to explaining its updates, but it is still better than Windows – which never explains anything, just shoves it on your machine.

    Like

Comments are closed.