Reading Time: 4 minutes

Python is a general-purpose programming language designed for various uses. For example, websites, industrial robotics, and even games all use the same core technology. In this article, we will be discussing how to install a Python package. We will discuss what a Python package is, what requirements are needed to install a software title, and the many other options available when setting up a new Python program.

What is a Python Package?

A Python package is defined as a collection of modules located within a structured directory that provides a mechanism to run a piece of software. In this context, we are referencing a Python package as a type of distribution or a bundle of software that can be installed on a system. Additionally, we must differentiate between a module and a package. A module is a single file that is imported into Python, as opposed to a group of modules bundled into a program. There also exists a type of package where the Python source code is referenced and included in an entity. This is not the type of package we are referring to here.



Before installing packages in Python, we must first ensure that Python is installed on the system. We can verify this by running the following command in a terminal.

root@host [~]# python --version


Pip is the default package manager for Python. It is used for installing and managing Python software from the command line.

root@host [~]# python -m pip --version
pip 19.3.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

root@host [~]# python -m ensurepip --default-pip


PyPi, short for Python Package Index, is a software repository that contains applications used by the Python programming language. PyPi supports installing software from distribution files, local projects, and can utilize version control features. It also uses requirement specifiers to better define specific versions, variants, and also supports the url_req-form specs. Currently, PyPI houses more than 200,000 Python projects. Install options include:

root@host [~]# pip install software
root@host [~]# pip install software == 1.5
root@host [~]# pip install software >=1.3,<3.0 
root@host [~]# pip install software[foo, bar] 
root@host [~]# pip install software ~=1.4.5  


Setuptools is a stable and fully featured Python library intended to assist with the packaging of Python projects.


Wheel is a Python library used as an extension of setuptools intended for working with wheel files. For installing these two Python libraries, we need to run the following command.

root@host [~]# python -m pip install --upgrade pip setuptools wheel 

Venv (Optional)

Venv is a Python module used to build and manage isolated, lightweight virtual environments in which differing Python versions and modules can be utilized.

root@host [~]# python3 -m venv
root@host [~]# source /bin/activate

Install Mediums

Python has multiple methods and options available for installing software. You can install packages for Python via the following methods.

  • From the PyPI repository:
 root@host:~# pip install package1
  • From VCS: (Version Control System)
root@host:~# pip install -e git+https://git.repo/package1
  • From other Indexes: (sources other than PyPi)
 root@host:~# pip install --index-url http://git.repo/package1
  • From a local src tree:
root@host:~# pip install -e /path/package1
  • From a local archive: (/mydrive/downloads/project.1.2.3)
root@host:~# pip install /path/package1
  • From other sources: (e.g., Amazon S3)
root@host:~# /s3helper --port=9999
root@host:~# pip install --extra-index-url http://localhost:9999
  • From Pre-releases:
    (when installing a beta version, Python defaults to the stable version)
root@host:~# pip install --pre package1

In a Virtual Environment

As a quick overview, installing Python packages can be accomplished using this quick three-step process.

Step 1. Create a virtual environment.

python3 -m venv .myvenv

Step 2. Activate the virtual environment.

source .myvenv/bin/activate

Step 3. Install your Python packages.

python3 -m pip install package1

Using this method, we contain our installed packages for Python in a virtual environment that does not make any system-wide changes. Should we actually want to implement a Python package system-wide, we dispense with Steps 1 and 2.

Using venv

root@host [~]# python3 -m venv .myvenv
root@host [~]# source .myvenv/bin/activate

Using virtualenv

root@host [~]# virtualenv .myvenv
root@host [~]# source .myvenv/bin/activate

Installing from PyPI

To install a package from PyPi, we run the following command.

root@host [~]# pip install "myproject"

To install a specific version, we run:

root@host [~]# pip install "myproject==1.4"

To install a package that is greater than or equal to one version and less than another, we can run:

root@host [~]# pip install "myproject>=1,<3"

To install a version that is “compatible” with a specific version, run:

root@host [~]# pip install "myproject~=1.2.3" 

In this scenario, this indicates that Python will install any version “==1.4.*” or a version that’s also “>=1.4.2”.

Upgrading packages

To upgrade a package to the latest version from PyPI that is already installed, we run:

root@host [~]# pip install --upgrade "myproject"


We have gone through how to install a Python package. Setting up a Python package can be as simple as using a single command or as complex as needed to accomplish this task in a very precise manner. Python’s documentation is quite extensive and provides a wealth of insights and experience. Additionally, because the user community base is so large, excellent resources are available in multiple locations across the web.

Want To Join An Elite Group Of Experts?
Call Now To Find Out If You Are Eligible!

Liquid Web has some of the most cutting-edge server setups available in the industry. We pride ourselves on being able to recommend a platinum solution for every situation. Not only that, our technicians continue to provide solid technical answers to all of your questions 24/7/365 year after year. Want to experience the best we have to offer?

Give us a call at 800.580.4985, or open a chat or ticket with us to speak with one of our knowledgeable Solutions or Experienced Hosting advisors to learn how you can take advantage of this technology today!

About the Author: David Singer

I am a g33k, Linux blogger, developer, student, and former Tech Writer for My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....

Have Some Questions?

Our Sales and Support teams are available 24 hours by phone or e-mail to assist.


Latest Articles

5 Alternatives to GitHub

Read Article

5 Steps to Install and Configure osquery on CentOS 7 & 8

Read Article

Five Steps to Create a Robots.txt File for Your Website

Read Article

Premium Business Email Pricing FAQ

Read Article

Microsoft Exchange Server Security Update

Read Article