我试图通过pipenv安装包html和re。但是我总是遇到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的索引时似乎失败了。但我不知道为什么它在这里失败了
包html
和re
是Python的标准库。应该没有必要明确地安装它们并且尝试安装它们将从cheeseshop获得一些名为标准软件包的其他软件包。你几乎从不想这样做。
在这种情况下,pip
(由pipenv
使用)选择good'ol Zope的DateTime包和html
中名为cheeseshop (The Python Package Index or PyPI)的包。这个html
包是古老的(2011年最后一个版本)并且似乎不能使用python的更现代的包装系统(它的setup.py
不理解命令egg_info
; Python有长期和黑暗的冲突包管理系统的历史)
Python不会阻止您重用标准库中的包名称。 PyPI也没有。旧的DateTime
包,即早于python的内置datetime
模块IIRC。
您尝试通过html
安装的pipenv install html
软件包不是Python标准库中的html
模块,而是this one。