General-purpose, high-level programming language supporting multiple programming paradigms.
If a Python package you need is not packaged for Fedora,
or if you need it in an isolated environment,
you can use
pip to install it from the Python Package Index (PyPI).
Note that software on PyPI is not part of Fedora, and has different standards of quality, security and licensing: essentially, anyone can upload code there.
Only install software you trust, and always double-check
install commands for typos in package names.
You can either install such modules to a virtual environment, or to your home directory with the
--user user switch. See below for both options.
Installing modules with pip to system directories is not recommended, as it can override system libraries and lead to an unstable system.
The best practise is using pip in the virtual environment. It will keep all modules for one project at one place and it will not break your local system. Another advantage is that you can have more versions of the same module in different virtual environments.
Let’s create a virtual environment called
project_venv with the main Python 3 version in Fedora.
If you need to use another version of Python or a different interpreter such as PyPy, see the Multiple Interpreters section.
$ python3 -m venv project_venv
If you want to work in the virtual environment, you have to activate it.
$ source project_venv/bin/activate
When the virtual environment is activated (you can see it’s name in brackets at the beginning of your prompt), you can install modules with pip.
For example, if your project needs the
requests library, run:
(project_venv) $ python -m pip install requests
When you finish your work, just deactivate the virtual environment.
(project_venv) $ deactivate
The environment is a directory.
If you no longer need it, deactivate it and delete it with
rm -rv project_venv.
Sometimes, you don’t want to use a virtual environment.
For example, you’re installing a tool you will use in multiple projects, but the tool is not available in Fedora repositories.
In such cases, you might need to install
pip if you do not already have it system-wide:
$ sudo dnf install python3-pip
Then, use pip’s
For example, to install a Python implementation of
cowsay (rather than the original Perl one available in Fedora), run:
$ python -m pip install --user cowsay
Since software installed using
pip is not part of Fedora, it is your responsibility to keep it updated as needed.
However you ran
pip install, running it again with
--update will update to the latest release.
For example, to update the
(project_venv) $ python -m pip install --update requests