为什么pip搜索无法找到某些包,而无论如何都可以通过pip install进行安装

时间:2016-03-16 09:42:05

标签: python pip pypi html5lib

为什么pip search无法找到某些软件包(例如,html5lib),而无法通过pip install安装这些软件包?

E:\software\Python276\Scripts>pip search html5lib
html5lib-truncation       - Truncating HTML with html5lib filter
HTML-Sanitizer-With-IFrame - Extends Python html5lib's sanitizer.HTMLSanitizer
                            to allow iframe elements.
microdata                 - html5lib extension for parsing microdata
html5tidy                 - Simple wrapper around html5lib & lxml.etree to
                            "tidy" html in the wild to well-formed xml/html

E:\software\Python276\Scripts>pip install html5lib
Downloading/unpacking html5lib
  Running setup.py (path:c:\users\user\appdata\local\temp\pip_build_user\html5lib\setup.py) egg_info for package html5lib

Requirement already satisfied (use --upgrade to upgrade): six in e:\software\python276\lib\site-packages (from html5lib)
Installing collected packages: html5lib
  Running setup.py install for html5lib

Successfully installed html5lib
Cleaning up...

1 个答案:

答案 0 :(得分:3)

html5lib为hidden in pypi.python.org,因此它不会显示在搜索结果中,但仍可以直接访问:

    "_pypi_hidden": true, 

我不知道为什么包被隐藏(它只是数据库字段中的一个标志)但我强烈怀疑它是由包的奇数版本系统(最近的第一个)引起的:

  • 0.9999999 / 1.0b8
  • 0.999999 / 1.0b7
  • [...]
  • 0.99 从1.0b3没有库更改;发布为0.99,因为pip改变了1.4的行为,以避免每个PEP 440安装预发布版本。
  • 1.0b3
  • [...]

修复方法是发布一个适当的1.0版本,它将显示在beta版本之上,并希望重置隐藏的标志。