Думаю, все применяют pip и знают основы:
$ pip install -U sqlalchemy
$ pip install -r requirements.txt
$ pip freeze > requirements.txt
$ pip uninstall sqlalchemy
Давайте посмотрим, что ещё полезного умеет эта команда
Ставим пакет локально для пользователя
$ pip install --user pep8
Т.е. если мы не в виртуальном окружении
(virtualenv/virtualenvwrapper), то пакет pep8
будет установлен
куда-то вроде ~/.local/lib/python3.4/lib
.
Главная прелесть метода -- не нужны права суперпользователя для
установки пакетов (не надо писать sudo pip install ...
, К тому же
так гораздо аккуратней.
Создаем конфигурационный файл
Т.к. опция --user
нужна часто, стоит записать её в
конфиге как значение по умолчанию. Создаем файл ~/.pip/pip.conf
и
пишем в него
[install]
user = true
Готово.
Внимание: user=true
не работает с виртуальными окружениями.
Принудительно переустанавливаем пакет
Реальный пример: я поставил pyzmq
. Библиотека скачалась и
скомпилировалась. Потом я заметил что она скомпилировалась со
неправильной версией libzmq
. libzmq
я переставил, теперь нужно
пересобрать pyzmq
:
$ pip install -U --force-reinstall pyzmq
Для работы --force-reinstall
обязательно нужно указывать -U
(--upgrade
).
Смотрим на список установленных (доступных) библиотек
$ pip list
Выясняем, какие библиотеки можно обновить
$ pip list -o
$ pip list --outstanding
Для выполнения команды pip
неоднократно делает зазыр в интернет, так
что придется подождать.
Устанавливаем библиотеку для работы над ней
Находясь в корне проекта, в той же папке где лежит setup.py
:
$ pip install -e .
Этот способ лучше вызова
python setup.py develop
хотя бы тем что работает даже если setup.py
не использует setuptools
.
Установка необязательных зависимостей
Если setup.py
содержит
extras_require
то дополнительные зависимости можно установить так:
$ pip install -e .[PDF,reST]
Получаем информацию об установленной библиотеке
$ pip show pyflakes
Так можно узнать версию, местонахождение на диске и зависимости.
Ищем в PyPI
msgpack
имеет неудобное имя библиотеки (msgpack-python
), которое я
постоянно забываю.
$ pip search msgpack
покажет список всех пакетов, в названии которых есть msgpack
.
Только не делайте:
$ pip search django
Дуплит пару минут, выдает 5754 результата :)
Автодополнение
И, наконец, последнее. Я люблю пользоваться bash completion. Чтобы
настроить эту удобную штучку для pip
выполните:
$ pip completion --bash >> ~/.bashrc
или для zsh
:
$ pip completion --zsh >> ~/.zprofile
Как ни странно pip --help
стесняется рассказать о том, что у него
есть команда pip completion
-- но оно работает.
Комментариев нет:
Отправить комментарий