python - pip3 无法在 ubuntu 20.04 : "has no attribute ' SourceFileLoader'"上运行

标签 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 命令运行良好。

正如其他答案中所建议的,我尝试重新安装 python3 和 pip3,但都没有成功。很多其他答案都使用 pip3 来解决问题,但我无法运行 pip3。

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

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

最佳答案

我花了很长时间才解决这个问题,但最终我还是进行了全新安装。我将在这里分享我学到的东西,希望对其他人有帮助。

我的假设是,当我在虚拟环境中不小心安装了requirements.txt时,出现了问题。这触发了旧setuptools的安装,然后它破坏了pip并毁掉了一切。

可能的修复可能是:

  1. 删除 pip:sudo apt-get --purge autoremove python3-pip
  2. 通过 python 安装 pip:python3.8 -m pip install --upgrade --force-reinstall pip。现在 pip 又可以工作了。
  3. 现在尝试修复 setuptools:pip install --upgrade --ignore-installed setuptools。修复此处出现的问题(如何?不知道)。我遇到的一个问题是不允许我使用 sudo 调用 pip。
  4. 最后,我猜您会希望以正常方式安装 pip,因此您卸载 python3.8 -m pip uninstall pip 并安装 sudo apt install python3-pip

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

最后,几个问题开始出现(也是因为我修改了很多),我对我的安装失去了信心。即使我能解决所有问题,我知道当下一个问题出现时,我会再次觉得这可能是问题所在。最好从头开始并拥有坚实的基础。

关于python - pip3 无法在 ubuntu 20.04 : "has no attribute ' SourceFileLoader'"上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62484606/

相关文章:

python - 使用 beautifulsoup 以正确的顺序解析项目符号列表

Python 3 在线解释器/Shell

python-3.x - 如何按年对多个数据框列进行分组?

php - imagettftext 无法打开字体文件

python - 如何绘制预测值与真实值的关系图?

python - django modeladmin list_display

python - Python打开<del>命名管道</del>字符设备专用文件进行读写的方法

mongodb - MongoDB 应该在 Ubuntu 15.10 上从哪个位置运行?

php - 使用 PHP 设置和获取全局环境变量

python - 以 32 位模式运行 OS X 通用二进制文件