Pip
Introduction
Pip - это пакетный менеджер для Python. Если вы пользовались Debian / Ubuntu или CentOS то уже сталкивались с пакетным менеджером apt или yum
Установка в Linux
To установить pip в Debian-подобных Linux execute
sudo apt install python3-pip
Проверить успех установки можно с помощью
pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
Даже если Вы только что установили Python какие-то пакеты будут в системе по умолчанияю.
У меня, например, Flask и Jinja2 появились после установки
Flask
а остальные, похоже дефолтные.
pip list
Package Version ----------------- ------- astroid 2.4.1 click 7.1.2 colorama 0.4.3 Flask 1.1.2 isort 4.3.21 itsdangerous 1.1.0 Jinja2 2.11.2 lazy-object-proxy 1.4.3 MarkupSafe 1.1.1 mccabe 0.6.1 pip 20.1 pylint 2.5.2 setuptools 41.2.0 six 1.14.0 toml 0.10.0 Werkzeug 1.0.1 wrapt 1.12.1
Устанавливать какие-либо пакеты в систему не рекомендуется. Рекомендуется всегда использовать виртуальное окружение.
To установить один пакет, например, Flask
pip install flask
To установить сразу Flask, requests и Django
pip install flask requests django
pip uninstall
Не удаляет зависимости. Можно удалить как один пакет так и несколько сразу
pip uninstall flask requests django
pip help
Общая справка
pip help list
Cправка по команде list
pip list -o Покажет устаревшие пакеты
pip list -o
Package Version Latest Type ----------------- ------- ------ ----- lazy-object-proxy 1.4.3 1.5.0 wheel pip 20.1 20.1.1 wheel setuptools 41.2.0 47.1.1 wheel six 1.14.0 1.15.0 wheel toml 0.10.0 0.10.1 wheel
pip list -u Покажет пакеты с самой свежей версией
pip list -u
Package Version ------------ ------- astroid 2.4.1 click 7.1.2 colorama 0.4.3 Flask 1.1.2 isort 4.3.21 itsdangerous 1.1.0 Jinja2 2.11.2 MarkupSafe 1.1.1 mccabe 0.6.1 pylint 2.5.2 Werkzeug 1.0.1 wrapt 1.12.1
pip show Покажет информацию о пакете
pip show Jinja2
Name: Jinja2 Version: 2.11.2 Summary: A very fast and expressive template engine. Home-page: https://palletsprojects.com/p/jinja/ Author: Armin Ronacher Author-email: armin.ronacher@active-4.com License: BSD-3-Clause Location: c:\users\andrei\appdata\local\programs\python\python38-32\lib\site-packages Requires: MarkupSafe Required-by: Flask
Пример для Linux
pip show flask
Name: Flask Version: 1.1.2 Summary: A simple framework for building complex web applications. Home-page: https://palletsprojects.com/p/flask/ Author: Armin Ronacher Author-email: armin.ronacher@active-4.com License: BSD-3-Clause Location: /home/andrei/.local/lib/python3.7/site-packages Requires: Werkzeug, itsdangerous, Jinja2, click Required-by:
Искать пакеты онлайн можно на сайте
pypi.org
известный также под названием the cheese shop.
Домашняя страница pip
pip.pypa.io
Если у Вас установлены и второй и третий Python, Вы можете прямо указать pip для какого Python делать установку.
python3.8 -m pip install flask
Установить определённую версию пакета
Допустим, Вам нужна версия flask 1.0
python -m pip install flask==1.0
Или Django не старше второй версии
python -m pip install 'Django<2.0'
Обновить версию пакета
Если Вам нужно обновить, например, flask до последней версии - нужно использовать install с флагом -U
python -m pip install -U flask
Обновить версию pip
Если pip старый он сам подсказывает, что его нужно обновить предупреждением
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
To обновить pip execute
python -m pip install -U pip
или
python -m pip install --upgrade pip
Установить пакет из директории
Если Вы скачали пакет и хотите выполнить установку из папки - нужно использовать флаг -e
python -m pip install -e flask
WARNING: pip is being invoked by an old script wrapper
При выполнении pip может появиться предупреждение
pip -V
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 20.3.3 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
To его избежать вызывайте pip через python
python -m pip -V
pip 20.3.3 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)