【问题标题】:AttributeError: module 'pip._internal.download' has no attribute 'HTTPAdapter'AttributeError:模块“pip._internal.download”没有属性“HTTPAdapter”
【发布时间】:2019-10-15 01:47:16
【问题描述】:

我最近将我的 pip 升级到了 19.3。当我这样做时,我不能使用任何 pip 命令。操作系统 - Mac

当我用谷歌搜索并进行更多研究时,大多数建议都是降级 pip 包。但是,即使我尝试过,我也得到了相同的结果。事实上,强制安装或卸载或 sudo 命令都不起作用。

Traceback (most recent call last):
  File "/Users/.virtualenvs/myvenv/bin/pip", line 10, in <module>
    sys.exit(main())
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/pip/_internal/main.py", line 45, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 21, in <module>
    from pip._internal.operations.prepare import RequirementPreparer
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 17, in <module>
    from pip._internal.download import unpack_url
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/wrapt/importer.py", line 158, in load_module
    notify_module_loaded(module)
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/wrapt/decorators.py", line 443, in _synchronized
    return wrapped(*args, **kwargs)
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/wrapt/importer.py", line 136, in notify_module_loaded
    hook(module)
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/pip_system_certs/wrapt_pip.py", line 8, in apply_patches
    override_ssl_handler(download)
  File "/Users/.virtualenvs/myvenv/lib/python3.7/site-packages/pip_system_certs/wrapt_pip.py", line 17, in override_ssl_handler
    class SslContextHttpAdapter(download.HTTPAdapter):
AttributeError: module 'pip._internal.download' has no attribute 'HTTPAdapter'

有人可以帮忙吗?

【问题讨论】:

    标签: python python-3.x pip virtualenv


    【解决方案1】:

    这似乎是因为您安装了 pip-system-certs 软件包,它以一种从未受支持的方式挂接到 pip 内部。当你更新 pip 并且 pip-system-certs 想要搞砸的东西被改变时,这很快就被打破了。

    您至少需要摆脱pip-system-certs。看起来它是安装在 virtualenv 中的,因此您可能只需停用该 env 并创建一个新的……但如果是这样,您似乎已经尝试过了。如果您还没有尝试过,请确保下次尝试!如果您已经尝试过,那么您可能破坏的东西比我们看到的要多,您可能需要采取更严厉的措施,例如重新安装完整的 Python。

    【讨论】:

    • 非常感谢您的解释!除了创造新环境之外别无他法:(
    【解决方案2】:

    对我有用的是转到&lt;your conda environment&gt;\Lib\site-packages 并删除所有出现的pip-system-certs。就我而言,它是一个文件和两个文件夹。

    【讨论】:

      【解决方案3】:

      pip-tools~=4.2.0pip&gt;=19.3 兼容

      【讨论】:

      • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
      • 是的,确实如此。因为安装新的 pip-tools 故障排除
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      • 2015-05-16
      • 2014-04-21
      • 2018-04-14
      • 2019-02-18
      • 1970-01-01
      • 2017-09-09
      相关资源
      最近更新 更多