我最近使用从下到上的方法将我的arch linux安装转移到了一台新机器上。也就是说,新安装arch linux,重新安装所有软件包,然后将选定的配置复制到新机器上。
现在,当我尝试用pip安装程序时,我会收到一个TypeError,如下所示:
ERROR: Exception:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 224, in _main
status = self.run(options, args)
File "/usr/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 180, in wrapper
return func(self, options, args)
File "/usr/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 320, in run
requirement_set = resolver.resolve(
File "/usr/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 121, in resolve
self._result = resolver.resolve(
File "/home/mor3dr3ad/.local/lib/python3.9/site-packages/resolvelib/resolvers.py", line 454, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "/home/mor3dr3ad/.local/lib/python3.9/site-packages/resolvelib/resolvers.py", line 319, in resolve
name, crit = self._merge_into_criterion(r, parent=None)
File "/home/mor3dr3ad/.local/lib/python3.9/site-packages/resolvelib/resolvers.py", line 171, in _merge_into_criterion
name = self._p.identify(requirement_or_candidate=requirement)
TypeError: identify() got an unexpected keyword argument 'requirement_or_candidate'
通过sudo以root身份安装实际上是有效的(我知道我不应该这样做,只是为了测试。所以我认为这一定是由于权限问题或在组方面缺少一些东西。
有人能给我指正确的方向吗?我需要将我的用户添加到某个组吗?
谢谢
您在/home/mor3dr3ad/.local/lib/python3.9/site-packages/resolvelib/
上有一个本地安装的库resolvelib
。在/usr/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/
和/usr/lib/python3.9/site-packages/pip/_vendor/resolvelib/
上与pip
和resolvelib
似乎不兼容。
我的建议是卸载本地resolvelib
。尝试
pip uninstall resolvelib
PS。很可能sudo
工作是因为它将用户切换到root
,并且用户在/root/.local/lib/
上没有本地包