无法安装HTML或通过pipenv重新

时间:2019-02-15 15:07:53

标签: python python-3.x pipenv

我试图安装html包,然后通过pipenv重新安装。但是我总是会遇到pipfile锁定问题,这是html的示例错误输出。

$ pipenv install html --verbose
Installing html…
⠋ Installing...Installing 'html'
$ ['/home/user/.local/share/virtualenvs/padobserver_mini-gIRpZkwy/bin/pip', 'install', '--verbose', '--upgrade', 'html', '-i', 'https://pypi.org/simple']
Adding html to Pipfile's [packages]…
✔ Installation Succeeded 
Pipfile.lock (465a67) out of date, updating to (977576)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
✘ Locking Failed! 
Using pip: -i https://pypi.org/simple
Using pip: -i https://pypi.org/simple
Using pip: -i https://pypi.org/simple

                          ROUND 1                           
Current constraints:
  datetime
  html

Finding the best candidates:
  found candidate datetime==4.3 (constraint was <any>)
  found candidate html==1.16 (constraint was <any>)

Finding secondary dependencies:
  datetime==4.3             requires pytz, zope.interface
  html==1.16 not in cache, need to check index
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 126, in <module>
    main()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 119, in main
    parsed.requirements_dir, parsed.packages)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 85, in _main
    requirements_dir=requirements_dir,
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 69, in resolve
    req_dir=requirements_dir
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/utils.py", line 726, in resolve_deps
    req_dir=req_dir,
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/utils.py", line 480, in actually_resolve_deps
    resolved_tree = resolver.resolve()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/utils.py", line 385, in resolve
    results = self.resolver.resolve(max_rounds=environments.PIPENV_MAX_ROUNDS)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 102, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 206, in _resolve_one_round
    for dep in self._iter_dependencies(best_match):
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 301, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 234, in get_dependencies
    legacy_results = self.get_legacy_dependencies(ireq)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 426, in get_legacy_dependencies
    results, ireq = self.resolve_reqs(download_dir, ireq, wheel_cache)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 297, in resolve_reqs
    results = resolver._resolve_one(reqset, ireq)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/resolve.py", line 260, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/resolve.py", line 213, in _get_abstract_dist_for
    self.require_hashes
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/operations/prepare.py", line 294, in prepare_linked_requirement
    abstract_dist.prep_for_dist(finder, self.build_isolation)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/operations/prepare.py", line 127, in prep_for_dist
    self.req.run_egg_info()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/req/req_install.py", line 474, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/utils/misc.py", line 705, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pipenv.patched.notpip._internal.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/tmpb736w9bfbuild/html/
Using pip: -i https://pypi.org/simple
Using pip: -i https://pypi.org/simple

                          ROUND 1                           
Current constraints:
  datetime
  html

Finding the best candidates:
  found candidate datetime==4.3 (constraint was <any>)
  found candidate html==1.16 (constraint was <any>)

Finding secondary dependencies:
  datetime==4.3             requires pytz, zope.interface
  html==1.16 not in cache, need to check index
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 126, in <module>
    main()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 119, in main
    parsed.requirements_dir, parsed.packages)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 85, in _main
    requirements_dir=requirements_dir,
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/resolver.py", line 69, in resolve
    req_dir=requirements_dir
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/utils.py", line 726, in resolve_deps
    req_dir=req_dir,
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/utils.py", line 480, in actually_resolve_deps
    resolved_tree = resolver.resolve()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/utils.py", line 385, in resolve
    results = self.resolver.resolve(max_rounds=environments.PIPENV_MAX_ROUNDS)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 102, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 206, in _resolve_one_round
    for dep in self._iter_dependencies(best_match):
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 301, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 234, in get_dependencies
    legacy_results = self.get_legacy_dependencies(ireq)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 426, in get_legacy_dependencies
    results, ireq = self.resolve_reqs(download_dir, ireq, wheel_cache)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 297, in resolve_reqs
    results = resolver._resolve_one(reqset, ireq)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/resolve.py", line 260, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/resolve.py", line 213, in _get_abstract_dist_for
    self.require_hashes
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/operations/prepare.py", line 294, in prepare_linked_requirement
    abstract_dist.prep_for_dist(finder, self.build_isolation)
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/operations/prepare.py", line 127, in prep_for_dist
    self.req.run_egg_info()
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/req/req_install.py", line 474, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/home/user/.local/lib/python3.6/site-packages/pipenv/patched/notpip/_internal/utils/misc.py", line 705, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pipenv.patched.notpip._internal.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/tmpb736w9bfbuild/html/

在此输出中看不到任何提示,以查找问题?!看起来它尝试了两次,并且在检查html索引时似乎失败了。但是我不知道为什么它在这里失败

1 个答案:

答案 0 :(得分:1)

软件包htmlre是Python标准库的一部分。不需要显式安装它们,尝试安装它们将使您从cheeseshop中获得一些其他软件包,就像标准软件包一样。您几乎永远都不想这样做。

在这种情况下,pip(由pipenv使用)从good'ol Zope中选择cheeseshop (The Python Package Index or PyPI)的DateTime包和一个名为html的包。这个html软件包是古老的(2011年最新发布),似乎无法与python的更现代的打包系统一起使用(setup.py不理解命令egg_info; Python的代码很长和冲突的软件包管理系统的黑暗历史)

Python不会阻止您重用标准库中的软件包名称。而且PyPI也没有。旧的DateTime软件包即早于python的内置datetime模块IIRC。

您尝试通过html安装的pipenv install html软件包不是Python标准库中的html模块,而是this one