How To Install Python 3.13 on CentOS Stream 10

You’ll learn how to install Python 3.13 on a CentOS Stream 10 Linux system in today’s tutorial. Python is a popular high-level object-oriented programming language that is open-source and has a big community. Its popularity grows as a result of its simplicity and easy-to-understand grammar. Python may be used to create a wide range of applications, from basic scripts to sophisticated machine learning algorithms. Python 3.13 is the most recent release version, however it is not as stable as Python 3.13. However, the final candidate is scheduled to be released shortly.

Guido van Rossum invented Python, a general-purpose, interpreted, and high-level programming language. Python is designed for ease of use, deep integration, and extensibility. Using Python, you can do a lot more with powerful libraries and tools like Django, Pygame, Matplotlib, Plotly, and so on. Python is a cross-platform programming language that runs on Linux, Windows, macOS, and BSD operating systems.

Benefits of Using Python 3.13

The following are the advantages of using Python 3.13:

  • Used to develop web apps on a server.
  • Rapid prototyping or development of production-ready software.
  • Workflows are created using this tool in conjunction with applications.
  • Handle large amounts of data and conduct complicated calculations.
  • Read and change files via connecting to database systems.

Features of Python 3.13

Here are the cool features shifted with Python 3.13:

  • A new and improved interactive interpreter, based on PyPy’s, featuring multi-line editing and color support, as well as colorized exception tracebacks.
  • An experimental free-threaded build mode, which disables the Global Interpreter Lock, allowing threads to run more concurrently. The build mode is available as an experimental feature in the Windows and macOS installers as well.
  • A preliminary, experimental JIT, providing the ground work for significant performance improvements.
  • The locals() builtin function (and its C equivalent) now has well-defined semantics when mutating the returned mapping, which allows debuggers to operate more consistently.
  • A modified version of mimalloc is now included, optional but enabled by default if supported by the platform, and required for the free-threaded build mode.
  • Docstrings now have their leading indentation stripped, reducing memory use and the size of .pyc files. 

Install Python 3.13 on CentOS Stream 10

We are going to install Python 3.13s on CentOS Stream 10 using the following steps.

Step 1: Update System

Linux users are urged to update their systems packages to the latest before doing any installation.

Run the following command to update your CentOS system:

sudo yum update -y

Reboot the system after the updates completion:

sudo reboot

Step 2: Install Required Development Tools

Install the needed software development tools for CentOS Stream 10|9 to create Python 3.13.

sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel libffi-devel bzip2-devel -y

Check gcc is available:

$ gcc --version
gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Step 3: Download latest Python 3.13 Archive

Using wget command, download Python 3.13 from the official release page. Install wget command before proceeding to download Python 3.13.

sudo yum install wget -y

Download Python 3.13 Archive:

wget https://www.python.org/ftp/python/3.13.3/Python-3.13.3.tgz

The tar command is used to extract the archive file above:

tar xvf Python-3.13.3.tgz

Change to the directory that was created during the file extraction:

cd Python-3.13.3

Step 4: Install Python 3.13 on CentOS Stream 10 | 9

To setup Python installation, use the command below:

./configure --enable-optimizations --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"

Here is the output of the above command:

...
checking for stdlib extension module _sha2... yes
checking for stdlib extension module _sha3... yes
checking for stdlib extension module _blake2... yes
checking for stdlib extension module _crypt... yes
checking for stdlib extension module _ctypes... yes
checking for stdlib extension module _curses... missing
checking for stdlib extension module _curses_panel... missing
checking for stdlib extension module _decimal... yes
checking for stdlib extension module _dbm... missing
checking for stdlib extension module _gdbm... missing
checking for stdlib extension module nis... missing
checking for stdlib extension module readline... missing
checking for stdlib extension module _sqlite3... disabled
checking for stdlib extension module _tkinter... missing
checking for stdlib extension module _uuid... missing
checking for stdlib extension module zlib... yes
checking for stdlib extension module _bz2... yes
checking for stdlib extension module _lzma... yes
checking for stdlib extension module _ssl... yes
checking for stdlib extension module _hashlib... yes
checking for stdlib extension module _testcapi... yes
checking for stdlib extension module _testclinic... yes
checking for stdlib extension module _testinternalcapi... yes
checking for stdlib extension module _testbuffer... yes
checking for stdlib extension module _testimportmultiple... yes
checking for stdlib extension module _testmultiphase... yes
checking for stdlib extension module xxsubtype... yes
checking for stdlib extension module _xxtestfuzz... yes
checking for stdlib extension module _ctypes_test... yes
checking for stdlib extension module xxlimited... yes
checking for stdlib extension module xxlimited_35... yes
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-embed.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/Setup.bootstrap
config.status: creating Modules/Setup.stdlib
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
configure: creating Modules/Setup.local
configure: creating Makefile

Build Python 3.12 on CentOS Stream 10|9:

sudo make altinstall

Remain patient, depending on the amount of CPU cores on your system, this might take a long time.

Check Python 3.13 installation

To verify that Python 3.13 was successfully installed on CentOS Stream 10|9: use the command below.

$ python3.13 --version
Python 3.13.3

Pip3.12 must also have been installed. Run the command below to check:

$ pip3.13 --version
pip 23.3.2 from /usr/local/lib/python3.13/site-packages/pip (python 3.13)

Install Python Modules / Extensions

Python modules and extensions are helpful because they provide functionality to the language. The Python Package Manager may be used to install modules on CentOS Stream 10|9. As we have seen above pip is already installed.

Upgrade it.

/usr/local/bin/python3.13 -m pip install --upgrade pip

Then, to install a Python module of your choosing, use the syntax below:

sudo python3.13 -m pip install <module-name>

On the modules releases page, you may now install Python modules of your choice. In our case we are going to install cython:

python3.13 -m pip install cython

Output:

Collecting cython
  Downloading https://files.pythonhosted.org/packages/d7/04/5890b30102782a3ec9970df3c10f024298803d89624ee23cf75d09bd2548/Cython-0.29.24-cp36-cp36m-manylinux1_x86_64.whl (2.0MB)
    100% |████████████████████████████████| 2.0MB 809kB/s 
Installing collected packages: cython
Successfully installed cython-0.29.24

Using the command below, you may see a list of locally installed Python packages:

$ pip3.10 list
Package                Version             
---------------------- --------------------
pip                    23.3.2
setuptools             57.4.0
attrs                  19.3.0              
Automat                0.8.0               
cython                 0.29.24     
blinker                1.4                 
certifi                2019.11.28          
chardet                3.0.4               
Click                  7.0                 
cloud-init             20.2                
colorama               0.4.3               
command-not-found      0.3                 
configobj              5.0.6               
constantly             15.1.0              
cryptography           2.8                 
dbus-python            1.2.16              
distro                 1.4.0               
distro-info            0.23ubuntu1         
entrypoints            0.3 
....        

Conclusion

That concludes the discussion. I hope you found my tutorial on installing Python 3.13 on CentOS Stream 10|9 useful. You’re now ready to utilize Python to construct online apps, software, and workflows, among other things.

Cool Guides you should check:

Join our Linux and open source community. Subscribe to our newsletter for tips, tricks, and collaboration opportunities!

Recent Post

Unlock the Right Solutions with Confidence

At CloudSpinx, we don’t just offer services - we deliver clarity, direction, and results. Whether you're navigating cloud adoption, scaling infrastructure, or solving DevOps challenges, our seasoned experts help you make smart, strategic decisions with total confidence. Let us turn complexity into opportunity and bring your vision to life.

Leave a Comment

Your email address will not be published. Required fields are marked *

Related Post

WireGuard is a modern VPN that uses peer-to-peer kind of connectivity to establish the connection. It is a simple and […]

Eclipse Adoptium’s main objective is to produce high-quality runtimes and the associated technology to be used within the Java Ecosystem. […]

On latest releases of Rocky, AlmaLinux, CentOS operating systems, the old ifup and ifdown commands are not installed by default. […]

Let's Connect

Unleash the full potential of your business with CloudSpinx. Our expert solutions specialists are standing by to answer your questions and tailor a plan that perfectly aligns with your unique needs.
You will get a response from our solutions specialist within 12 hours
We understand emergencies can be stressful. For immediate assistance, chat with us now

Contact CloudSpinx today!

Download CloudSpinx Profile

Discover the full spectrum of our expertise and services by downloading our detailed Company Profile. Simply enter your first name, last name, and email address.