pip - Отримати довгий опис видаленого пакета?


4

Для операційних систем на основі apt є apt-cache show підкоманда, яка показує все, що відомо про певний пакет, включаючи версію, залежності та довге опис.

Хоча у pip є pip show Підкоманда також показує тільки таку інформацію встановлено пакетів. (Я вважаю, що це має відношення до "онлайн-архітектури" pip у порівнянні з apt-cache.

Чи має піп спосіб перегляду додаткової інформації про пакунок без використання PyPI у веб-переглядачі?

Відповіді:


3

pip не надає цієї функції. Hovewer, є класний пакет з ім'ям yolk які можуть запитувати сховища PyPI для метаданих доступних пакетів. Встановіть його з

$ pip2 install yolk

або

$ pip3 install yolk3k

python2 Користувачі, будьте обережні:

Схоже на оригінал yolk пакет має проблему з запитами до пакетів PyPI. Це може бути пов'язано з недавнім переміщенням сховища https://pypi.python.org до https://pypi.org ; на жаль, yolk досить старий і не оновлювався протягом декількох років. Якщо у вас є python2.7, використовуйте yolk3k як це сумісно python2.7:

$ pip2.7 uninstall -y yolk && pip2.7 install yolk3k

(Завдяки @AnneTheAgile для підказки див цей коментар )


Запит повних метаданих пакета (незалежно від того, встановлено чи ні):

$ yolk -M pytest
maintainer:
docs_url: None
requires_python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
maintainer_email:
cheesecake_code_kwalitee_id: None
keywords: test unittest
package_url: http://pypi.python.org/pypi/pytest
author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
author_email:
download_url:
platform: unix
version: 3.5.0
cheesecake_documentation_id: None
_pypi_hidden: False
description:
    ... # here comes the long README contents
release_url: http://pypi.python.org/pypi/pytest/3.5.0
downloads: {'last_month': 0, 'last_week': 0, 'last_day': 0}
_pypi_ordering: 69
requires_dist: ['py (>=1.5.0)', 'six (>=1.10.0)', 'setuptools', 'attrs (>=17.4.0)', 'more-itertools (>=4.0.0)', 'pluggy (<0.7,>=0.5)', 'funcsigs; python_version < "3.0"', 'colorama; sys_platform == "win32"']
classifiers: ['Development Status :: 6 - Mature', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Testing', 'Topic :: Utilities']
name: pytest
bugtrack_url: https://github.com/pytest-dev/pytest/issues
license: MIT license
summary: pytest: simple powerful testing with Python
home_page: http://pytest.org
cheesecake_installability_id: None

Запитувати лише вибрані поля метаданих:

$ yolk -M pytest -f author,requires_python
requires_python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others

Тепер ви знаєте, як отримати опис пакета:

$ yolk -M pkgname -f long_description

Хм, я не можу підмножити поля: я отримую код повернення 0, але жодних результатів від: yolk -M pytest -f author, require_python
AnneTheAgile

@ AnneTheAgile ви використовуєте yolk для python2? Це може бути дійсно проблемою з моменту виходу оригіналу yolk пакет дуже застарілий. Якщо у вас є python2.7 або python3, Пропоную видалити yolk і використання yolk3k замість цього.
hoefling

Я також оновив відповідь на підказку python2 користувачів.
hoefling

Це дуже божевільно для мене, що піп буде показувати ім'я і опис, але якщо ви хочете будь-яку іншу інформацію, вам потрібно спочатку встановити пакет або йти знайти інформацію на сайті. Вся інформація доступна в PyPI API, який піп вже запитує, так що немає технічної причини, чому його не можна зробити.
theferrit32
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.