Думаю, все применяют 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 -- но оно работает.
Комментариев нет:
Отправить комментарий