Arch:pip: ImportError: 无法导入名称“requests”

Arch:pip: ImportError: 无法导入名称“requests”

我使用 pip 安装的一些 python 软件包与我尝试使用 pacman 安装的另一个软件包发生冲突。所以我决定卸载所有用pip安装的包。我制作了包含所有软件包的requirements.txt 文件并开始卸载它们。运行一段时间后效果很好,但最终出现了这个错误:

Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    load_entry_point('pip==10.0.1', 'console_scripts', 'pip')()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 479, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2703, in load_entry_point
    return ep.load()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2321, in load
    return self.resolve()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2327, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3.6/site-packages/pip/_internal/__init__.py", line 42, in <module>
    from pip._internal import cmdoptions
  File "/usr/lib/python3.6/site-packages/pip/_internal/cmdoptions.py", line 16, in <module>
    from pip._internal.index import (
  File "/usr/lib/python3.6/site-packages/pip/_internal/index.py", line 15, in <module>
    from pip._vendor import html5lib, requests, six
ImportError: cannot import name 'requests'

之后每次我尝试运行 pip 时都会遇到类似的错误。

答案1

您的问题是您使用sudo pip并最终混合和匹配了pacman软件包和pip软件包。不要这样做。如果您需要使用pipPython 的发行版安装,请使用该--user标志,或者更好的是使用 virtualenv。

为了解决这个问题,您需要卸载使用 pip 安装的所有内容,例如使用lostfiles官方存储库中的软件包,该软件包会找到 pacman 不知道的文件。删除所有这些杂乱的内容,然后使用 pacman 重新安装 python-pip。

您可能还需要使用 来检查依赖关系已损坏的软件包pacman -Dk,或者使用 pip 检查包含已删除或替换的文件的损坏的软件包,这些文件应该属于 pacman,使用pacman -Qkk.

答案2

我不知道这个问题,但我只是通过以下方式修复了它

curl -O https://bootstrap.pypa.io/get-pip.py; python get-pip.py

相关内容