pip3在ubuntu 20.04上不起作用:“没有属性'SourceFileLoader'”

时间:2020-06-20 10:29:48

标签: python python-3.x ubuntu pip ubuntu-20.04

在Ubuntu 20.04上,我使用以下命令安装了pip3: sudo apt install python3-pip

但是当我运行pip3时,出现以下错误:

Traceback (most recent call last):
  File "/usr/bin/pip3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.8/dist-packages/pkg_resources.py", line 1479, in <module>
    register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'

在虚拟环境中,pip3命令可以正常工作。

如其他SO答案中所建议,我尝试重新安装python3和pip3,但均未成功。许多其他答案都使用pip3来解决该问题,但是我无法运行pip3。

我注意到其他几个程序(docker-compose,Guake)也给我类似的错误。

我运行python 3.8.2。打开虚拟环境后,我可以看到我的pip3版本是20.0.2。

1 个答案:

答案 0 :(得分:1)

我在解决此问题上走了很长一段路,但最后我进行了全新安装。我将在这里分享我学到的东西,希望它能对其他人有所帮助。

我的假设是,当我在虚拟环境中意外安装了requirements.txt时,它出错了。这就触发了安装旧的 setuptools ,然后破坏了点并破坏了所有内容。

可能的解决方法可能是:

  1. 删除点子:sudo apt-get --purge autoremove python3-pip
  2. 通过python安装{@ {1}}。现在,pip再次起作用。
  3. 现在尝试修复setuptools:python3.8 -m pip install --upgrade --force-reinstall pip。解决此处弹出的问题(怎么办?不知道)。我在这里遇到的一个问题是不允许我使用sudo来叫pip。
  4. 最后,我想您会希望以常规方式安装pip,因此请卸载pip install --upgrade --ignore-installed setuptools并安装python3.8 -m pip uninstall pip

下次,我将完全跳过安装python3-pip。这样,我不得不打开一个虚拟环境。

在年底,有几个问题开始雨后春笋般冒出来(也因为我身边有很多修修补补),我只是失去了我的安装信心。即使我将其全部修复,我也知道当下一期杂志出现时,我会再次觉得这可能是问题所在。最好从新开始并有坚实的基础。