How to Install Python on Fedora Linux

Python is a high-level programming language that has gained tremendous popularity over the years. Created in the late 1980s by Guido van Rossum, Python is known for its simplicity, readability, and ease of use. It has become a favorite among developers, data scientists, and researchers and is used in various applications, from web development to machine learning and artificial intelligence.

One of the reasons for Python’s popularity is its versatility. Python is a general-purpose language used for various tasks, including scripting, automation, and system administration. It is also widely used in scientific computing, data analysis, and visualization, thanks to the availability of powerful libraries such as NumPy, SciPy, and Matplotlib.

Python’s popularity has been steadily increasing over the years, and it is now one of the world’s most widely used programming languages. This is partly due to its large and active community of developers who contribute to developing new libraries and tools and provide support through online forums and discussion groups.

This guide will demonstrate how to install Python on Fedora using the command line terminal. We will cover two methods: installing the default version of Python from the Fedora repository and installing Python manually by downloading an archive. Whether you are new to Python or an experienced developer, this guide will provide the information you need to get started with Python on Fedora.

Update Fedora

It is important to update your system regularly to ensure that your Fedora operating system is equipped with the latest versions of all packages. This can be achieved through a simple command entered in the terminal:

sudo dnf upgrade --refresh

Method 1: Install Python with Fedora

Installing Python on Fedora is straightforward, given its focus on upstream releases. To install Python run the following command:

sudo dnf install python

Python is a universal programming language, and many optional packages can be installed to take advantage of its full range of capabilities. Below is a list of some of the most popular optional Python packages that can be installed on Fedora Linux using the following command format:

Pip: a package installer for Python

sudo dnf install python3-pip

Python3-devel: development headers and libraries for Python 3

sudo dnf install python3-devel

Python3-venv: a tool for creating virtual environments for Python 3

sudo dnf install python3-vituralenv

NumPy: a library for working with arrays of numerical data

sudo dnf install python-numpy

SciPy: a library for scientific computing and advanced mathematics

sudo dnf install python-scipy

Matplotlib: a library for data visualization

sudo dnf install python-matplotlib

Pandas: a library for data analysis and manipulation

sudo dnf install python-pandas

Scikit-learn: a library for machine learning and data mining

sudo dnf install python-scikit-learn

Flask: a web application framework for Python

sudo dnf install python-flask

Django: a high-level web framework for Python

sudo dnf install python-django

Requests: a library for making HTTP requests

sudo dnf install python-requests

By installing these optional packages, you can expand the capabilities of your Python environment and enable a wide range of functionality. Whether you are working on data analysis, web development, or machine learning projects, installing these packages can help you achieve your goals more efficiently and effectively.

Verify the installation by checking the build.

python3 --version

Example output:

Python 3.11.1

Method 2: Install Python with Source

If you’re looking for a more advanced installation method for Python or need to install a specific advanced build from the Git repository of the source, you can choose to install Python directly from the source. However, it’s worth noting that this method can be more challenging and time-consuming than installing Python through a package manager. One of the main issues is that you won’t be able to update Python as easily as with a package manager, and you’ll need to recompile for any changes.

To install Python from the source on Fedora Linux, you’ll need to follow a few steps. First, you’ll need to install the necessary dependencies to build Python, including gcc, openssl-devel, bzip2-devel, libffi-devel, zlib-devel, wget, and make. You can do this by running the following command in the terminal:

sudo dnf install gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make 

Once you have installed the dependencies, you can visit the Python downloads page on the official website and download the latest version of Python. For example, you can use the wget command to download the Python 3.11.2 source file by running the following command:

wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz

Once you have downloaded the file, you can extract the archive by running the following command:

tar -xf Python-3.11.2.tar.xz

You’ll then need to navigate to the source directory by running the following command:

cd Python-3.11.2

Next, you’ll need to run the configuration script, which checks that all the necessary dependencies are present before the installation can proceed. You can run the configuration script with the following command:

./configure --enable-optimizations

It’s recommended to use the –enable-optimizations flag to optimize the Python binary by running multiple tests, although it will take extra time to complete.

After running the configuration script, you can start the build process with the make command. You can use the -j flag to specify the number of cores in your system to speed up the build time. For example, if you have two cores, you can run the following command:

make -j 2

Once the build process is complete, you can install Python by running the following command:

sudo make altinstall

The altinstall command is used instead of the default install command to prevent overwriting the default python3 binary file /usr/bin/python.

Finally, you can check the version of the installation to ensure that it has been installed successfully and that its current build number is correct by running the following command:

python3 --version

Test Python: Create a Test Virtual Environment

After installing Python on your Fedora Linux system, it’s a good idea to test that it’s working correctly. A convenient way to do this is by creating a test virtual environment. A virtual environment is an isolated environment where you can test Python and its modules without affecting the global Python environment.

To create a test virtual environment, you’ll first need to install the python3-virtualenv package, including the venv module you can use to create virtual environments. You can install it by running the following command:

sudo dnf install python3-virtualenv

Once you have installed the package, you can create a new virtual environment in a directory of your choice. For example, you can create a virtual environment called myenv by running the following command:

python3 -m venv myenv

This will create a new directory called myenv that contains the virtual environment. You can activate the virtual environment by running the activate script located in the bin directory of the virtual environment. You can activate the virtual environment by running the following command:

source myenv/bin/activate

Once you have activated the virtual environment, you can test Python by running the following command:

python --version

This will display the version of Python that you’re running in the virtual environment. You can also install any Python modules that you want to test in the virtual environment using pip. For example, you can install the NumPy package by running the following command:

pip install numpy

This will install the NumPy package in the virtual environment. You can test that the package is installed correctly by importing it into a Python script and running it. For example, you can create a new file called test_numpy.py with the following code:

import numpy as np
arr = np.array([1, 2, 3])
print(arr)

Save the file and run it by running the following command:

python test_numpy.py

This should output the following result:

[1 2 3]

By creating a test virtual environment and testing Python and its modules in isolation, you can ensure that everything is working correctly and avoid potential issues with the global Python environment. Once you’re done testing, you can deactivate the virtual environment by running the following command:

deactivate

This will return you to the global Python environment.

Conclusion

In conclusion, Python is a versatile programming language that has become increasingly popular recently. It’s widely used in various applications, from web development to scientific computing and machine learning. If you’re using Fedora Linux, you have several options for installing Python, including using the default version from the Fedora repository, installing optional packages and essential components, or installing directly from the source.

In this guide, we’ve covered several installation methods for Python on Fedora Linux, including installing optional packages and essential components using the dnf package manager and installing Python from the source. We’ve also demonstrated how to create a test virtual environment to test Python and its modules in isolation.

No matter which method you choose, installing Python on Fedora Linux is a straightforward process that will allow you to take advantage of the powerful features and capabilities of this popular programming language. Following the steps outlined in this guide, you can set up a Python development environment tailored to your needs and start building your own Python applications and projects.

FAQs on Python with Fedora

Q: What is Python, and why is it popular?

A: Python is a high-level, general-purpose programming language known for its simplicity, ease of use, and versatility. It’s widely used in various applications, from web development to scientific computing and machine learning. Python is popular because of its clean syntax, wide range of libraries, and large community of developers contributing to its development and maintenance.

Q: What is the difference between Python 2 and Python 3?

A: Python 2 and Python 3 are two different versions of the Python programming language. Python 2 was released in 2000 and is now considered legacy software. Python 3, released in 2008, is the current language version and includes several significant improvements over Python 2. One of the main differences between the two versions is that Python 3 introduced several backward-incompatible changes, including changes to the print statement, how strings are handled, and how exceptions are raised and caught.

Q: What are virtual environments, and why should I use them?

A: Virtual environments are isolated environments where you can test Python and its modules without affecting the global Python environment. They are useful for avoiding conflicts between different Python projects and dependencies and for testing new packages and updates without affecting the rest of the system. By using virtual environments, you can ensure that your Python projects are isolated and self-contained.

Q: How can I manage Python packages and dependencies?

A: Python packages and dependencies can be managed using pip, a package installer for Python. You can use pip to install, update, and remove packages and their dependencies. Pip works by downloading packages from the Python Package Index (PyPI) and installing them in the global Python environment or a virtual environment. You can also use pip to create a requirements.txt file that lists all the packages and their versions that your project depends on.

Q: What are the benefits of using Python for data analysis and machine learning?

A: Python is a popular choice for data analysis and machine learning because of its wide range of libraries and tools. Some popular data analysis and machine learning libraries include NumPy, Pandas, Scikit-learn, and TensorFlow. Python is also known for its ease of use and flexibility, which makes it an ideal language for developing and testing new algorithms and models. With Python, data analysts and machine learning practitioners can easily manipulate and analyze large data sets, build predictive models, and visualize their results.

Q: What are some popular web frameworks for Python?

A: Some popular web frameworks for Python include Flask, Django, and Pyramid. Flask is a lightweight web framework known for its simplicity and flexibility. Django is a high-level web framework known for its batteries-included approach and its support for rapid development. Pyramid is a general-purpose web framework known for its modularity and flexibility. All of these frameworks have their strengths and weaknesses, and the choice of which to use will depend on the specific needs of your project.

Q: Can I use Python for system administration and automation?

A: Yes, Python is an excellent choice for system administration and automation. Its ease of use and wide range of libraries and tools make it a popular choice for scripting and automating common system administration tasks, such as configuration management, server monitoring, and log analysis. Python can also be used for developing command-line tools and utilities, making it a universal language for system administrators.

Share to...