pip安装失败,并出现ImportError:无法导入名称'SourceDistribution'

时间:2020-01-21 12:29:11

标签: python

在干净的venv中安装东西的示例:

$ rm -rf venv && python3.8 -m venv venv && ./venv/bin/python -m pip install -U pip && ./venv/bin/python -m pip install requests
Collecting pip
  Using cached https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.2.3
    Uninstalling pip-19.2.3:
      Successfully uninstalled pip-19.2.3
Successfully installed pip-20.0
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  ...
  File "/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
    from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/source/__init__.py)

2 个答案:

答案 0 :(得分:6)

当前pip版本20.0已损坏-参见https://github.com/pypa/pip/issues/7620

安装20.0以外的pip:

$ pip install -U "pip!=20.0"

更新:已发布pip 20.0.1,可解决此问题。


如果您对20.0感到困惑,并且由于此错误而无法升级到20.0.1,请尝试get-pip.pyeasy_install

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py --ignore-installed

答案 1 :(得分:0)

已快速修复。没什么改变。您可以使用最新版本的pip在我这边一切正常 https://github.com/pypa/pip/issues/7217