PIP - Package Installer for Python
PIP is the Package Installer for Python. It is used to install packages from Python Package Index (PyPI) and other indexes.
PyPI - Python Package Index
PyPI is the default repository of Python packages for Python community that includes frameworks, tools and, libraries. Python developers can install and use packages in the Python application. It is open to all Python developers to consume and distribute their distributions. Developers can search or browse projects from pypi.org.
Install pip
PIP has been included with Python installer since Python 3.4. You can verify whether the pip is installed on your machine by running the following command in your console:
C:\>pip --versionpip 18.0 from c:\python37\lib\site-packages\pip (python 3.7)
If you are using an older version of pip, you can upgrade pip by running the following command on Windows:
C:\> python -m pip install -U pipExecute the following command on Linux or Mac OS to upgrade pip:
$ pip install -U pipIf pip isn't already installed, then first try to bootstrap it from the standard library by executing the following command in your console or terminal window:
python -m ensurepip --default-pipIf that still doesn't install pip, the following steps should install pip on your platform.
- Download
get-pip.py
from https://bootstrap.pypa.io/get-pip.py and save it to your local folder. - Navigate command prompt or terminal to the folder where you have downloaded the file and run the command:
python get-pip.py
This command will install pip in your pc. Additionally, it also installs the wheel and setuptools.
pip Help command
The pip help
command is used to get a list of all the functions available in pip.
Usage:
pip <command> [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependen cies.
config Manage local and global configuration.
search Search PyPI for packages.
cache Inspect and manage pip's wheel cache.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
debug Show information useful for debugging.
help Show help for commands.
General Options:
-h, --help Show help.
--isolated Run pip in an isolated mode, ignoring
environment variables and user configuration.
-v, --verbose Give more output. Option is additive, and can be
used up to 3 times.
-V, --version Show version and exit.
-q, --quiet Give less output. Option is additive, and can be
used up to 3 times (corresponding to WARNING,
ERROR, and CRITICAL logging levels).
--log <path > Path to a verbose appending log.
--no-input Disable prompting for input.
--proxy <proxy > Specify a proxy in the form [user:passwd@]proxy.server:port.
--retries <retries > Maximum number of retries each connection should attempt (default 5 times).
--timeout <sec > Set the socket timeout (default 15 seconds).
--exists-action <action > Default action when a path already exists:
(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.
--trusted-host <hostname > Mark this host or host:port pair as trusted,
even though it does not have valid or any HTTPS.
--cert <path > Path to alternate CA bundle.
--client-cert <path > Path to SSL client certificate, a single file
containing the private key and the certificate
in PEM format.
--cache-dir <dir > Store the cache data in <dir >.
--no-cache-dir Disable the cache.
--disable-pip-version-check
Don't periodically check PyPI to determine
whether a new version of pip is available for
download. Implied with --no-index.
--no-color Suppress colored output
--no-python-version-warning
Silence deprecation warnings for upcoming
unsupported Pythons.
--use-feature <feature > Enable new functionality, that may be backward
incompatible.
--use-deprecated <feature > Enable deprecated functionality, that will be
removed in the future.
Installing packages
PyPI maintains packages as projects. Use the following pip command to install the latest version of the project.
Pip install "project-name"
Use the following command installs the specific version of the project:
pip install "project-name==2.4"
Use the following command to install a version that's "compatible" with a certain version:
pip install "project-name~=2.4"
Let's install a package to send an HTTP request in Python. urllib3 is a powerful, user-friendly HTTP client for Python. Before using urllib3 package in your application, install it using the pip
command, as shown below.
The above command will install the latest version of urllib3
. Now, you can import and use it, as shown below.
import urllib3 http = urllib3.PoolManager() req = http.request('GET', 'http://www.google.com') print(req.status)
List packages
The list command can be used to see all the packages that have been installed on the system. If you want to check all the packages, use the pip list
command:
Package Version
------- -------
argon2-cffi 20.1.0
async-generator 1.10
attrs 20.2.0
backcall 0.1.0
bleach 3.2.1
certifi 2020.6.20
cffi 1.14.3
chardet 3.0.4
colorama 0.3.9
decorator 4.3.0
defusedxml 0.6.0
entrypoints 0.3
idna 2.10
importlib-metadata 2.0.0
ipykernel 5.3.4
ipython 6.5.0
ipython-genutils 0.2.0
jedi 0.12.1
Jinja2 2.11.2
json5 0.9.5
jsonschema 3.2.0
jupyter-client 6.1.7
jupyter-core 4.6.3
jupyterlab-pygments 0.1.2
jupyterlab-server 1.2.0
MarkupSafe 1.1.1
mistune 0.8.4
mongobox 0.1.8
nbclient 0.5.0
nbconvert 6.0.7
nbformat 5.0.7
nest-asyncio 1.4.1
notebook 6.1.4
packaging 20.4
pandocfilters 1.4.2
parso 0.3.1
pickleshare 0.7.4
pip 20.2.4
prometheus-client 0.8.0
prompt-toolkit 1.0.15
pycparser 2.20
Pygments 2.7.1
pyparsing 2.4.7
pyrsistent 0.17.3
python-dateutil 2.8.1
pywin32 228
pywinpty 0.5.7
pyzmq 19.0.2
requests 2.24.0
Send2Trash 1.5.0
setuptools 39.0.1
simplegeneric 0.8.1
six 1.11.0
terminado 0.9.1
testpath 0.4.4
tornado 6.0.4
traitlets 4.3.2
urllib3 1.26.2
wcwidth 0.1.7
webencodings 0.5.1
zipp 3.3.0
This will list all the packages available to use in your system. Notice that urllib3
package is also listed there.
Show package
If you want to check the metadata of a package, then use pip show command. The following command will display the metadata of the urllib3 package.
C:\> pip show urllib3Name: urllib3
Version: 1.26.2
Summary: HTTP library with thread-safe connection pooling, file post, and more.
Home-page: https://urllib3.readthedocs.io
Author: Andrey Petrov
Author-email: [email protected]
License: MIT
Location: c:\python37\lib\site-packages
Requires:
Required-by: requests
Uninstalling a Package
The pip uninstall
command can be used to remove a package. For example, if you want to remove urllib3
package, you can simply use the following command:
The pip package manager will ask you to confirm if you want to uninstall the package.Proceed (y/n)?:
If you press y, the package will be removed.
Thus, you can use pip as a package manager of your Python application.