Installing Python packages
One of the pros of working with Python is that many people and organizations contribute to the ecosystem by making Python software available as a package. You can see a package as a Python plugin you can optionally install. In this how-to, we will give you a brief introduction of how you can install and manage it.
Before we start installing the first packages, a tip to activate a (new) virtual environment. In the how-to “Using virtual environments” you can read how to do this. You can run the commands provided in this how-to in your terminal.
Most packages can be installed using pip. Pip stands for Pip Installs Packages
. There are other methods, but that’s
out of scope for this kickstart how-to.
Check if pip is installed
When you installed Python, pip is probably installed on your system as well. If the Python installer includes pip, it will also be available in your virtual environment. But let’s check to be sure that pip is available by running:
pip --version
If somehow pip is not installed, you can use the GitHub project “get-pip.py” to
install pip. You can also download the get-pip.py
file and run the next
command from the location where you saved the downloaded file:
python get-pip.py
PyPI
The Python Package Index (PyPI) is a central location with packages for Python. Most of the Python software is published on this site. You can search for projects, check the release history and other relevant information. For example, the AskAnna CLI & Python SDK is published here as well.
When you are working on data science projects, some of the popular packages you might want to use are:
Install packages with pip
When you install a package with pip, it will check PyPI if the package is listed and install the software. If you want to install the latest version of Pandas, you can run:
pip install pandas
Sometimes you need to install a specific release. To do this, you should add the version number of the release you want to install:
pip install pandas==1.2.3
If you want to see the packages installed in the current environment, you can list them by running:
pip freeze
Using a requirements.txt file
It’s a good habit to use a virtual environment for your Python project. Another good habit is that you install packages
using a requirements.txt
file. Using the requirements.txt
file, you can share with the team which packages are used
for the project. You can version control this file and also list the version of the packages used in the file. By
doing this, you make sure that if others run the project it works as intended.
A requirements.txt
file contains a list of packages. One per line. It can look like this:
pandas
scikit-learn
askanna
If you want to specify the package version, you can do this by adding the version number:
pandas==1.2.3
scikit-learn==0.24.1
askanna
Note that for the AskAnna package we did not add the version number. If we list it like this, we will always install the latest version for AskAnna in case AskAnna is not yet installed. Other notations to specify which version of a package should be installed are:
-
>=
: the minimum version that should be installed -
~=
: if a new patch is available, install the latest patched version
If you want to install the packages in the file requirements.txt
, you can run the next pip command:
pip install -r requirements.txt
Every time you run this command, pip will check if it is necessary to install a new package or upgrade an existing one.
If you installed packages directly with pip, and later realize you want to create a requirements.txt
file you can run:
pip freeze > requirements.txt
With pip freeze
you will create a requirements.txt file or overwrite the existing file. This file lists all the
packages currently installed in the active environment. Also installed dependencies will be listed. Impact is that
although you will get a list of all packages installed, you don’t know which packages you installed and which packages
where dependencies of the packages you installed. So if you ask me, it’s better not to use pip freeze
and install the
packages always using a requirements.txt
file.
Need more
This was a quick introduction to installing Python packages. If you have a question, you can always send an email to [email protected]. You can read more about pip and Python packages on the official pip project and the Python Packaging User Guide.