使用pip3:模块"importlib._bootstrap"没有属性"SourceFileLoader"

Ars*_*591 28 python linux ubuntu pip

我在Ubuntu 14上安装了python 3.6的pip.运行之后

sudo apt-get install python3-pip
Run Code Online (Sandbox Code Playgroud)

安装pip3,效果很好.但是,安装后,当我试图运行时

pip3 install packagename
Run Code Online (Sandbox Code Playgroud)

要安装一个新包,会发生一些奇怪的事情:

File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1479, in <module>
 register_loader-type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module "importlib._bootstrap" has no attribute "SourceFileLoader"
Run Code Online (Sandbox Code Playgroud)

似乎我没有做错任何事,我真的无法弄清楚原因.

azh*_*22k 32

面临同样的问题.我认为这是因为python3.6并且pip3是从不同来源安装的.我建议使用python的内置工具来安装pip ie

python3 -m ensurepip --upgrade
Run Code Online (Sandbox Code Playgroud)

这应该安装pip3pip3.x地方中的x python3.x.同样适用于此python2.

  • '/usr/bin/python3.6:没有名为ensurepip的模块'有什么想法吗? (21认同)
  • ensurepip`在Ubuntu上可用吗?在我的Ubuntu环境中,无法导入它。也许,在许多其他环境中,`ensurepip`不可用。 (3认同)
  • @ H.Jang Yeah。它是Ubuntu中的错误。https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847 (2认同)

小智 19

尝试在使用 python 3.8 的 Windows 10 机器上的 venv 中安装 Tensorflow 并遇到同样的问题。

对我有帮助的是:

pip install setuptools --upgrade


小智 17

我无法编辑现有答案,因此必须添加另一个答案:

这为我工作:

sudo pip install python-dotenv
Run Code Online (Sandbox Code Playgroud)

  • 我认为这个答案特定于 dotenv (9认同)
  • 糟糕的是导入语句中使用的包名与安装时使用的包名不同 (8认同)
  • 1.你怎么知道的?2. 是啊 (2认同)
  • `sudo pip3 install python-dotenv` 如果你已经为 python2 安装了 pip3 和 pip (2认同)

mis*_*adr 17

我在使用 python 3.6 的 ubuntu 18.04 上遇到了同样的问题。上述方法都没有帮助,但是这个方法解决了问题:

pip3 uninstall setuptools


小智 7

在 ubuntu 14.04 上将 python3.4 更新为 python3.6 时。以下解决了我:

wget https://bootstrap.pypa.io/ez_setup.py -O - | python3
Run Code Online (Sandbox Code Playgroud)

  • 没有为我解决它。 (3认同)

Jee*_*Box 7

pip install setuptools --upgrade
Run Code Online (Sandbox Code Playgroud)

这个命令解决了我的问题。它解决了我的问题。


小智 5

无论我要求点什么,我都有同样的错误。我看了一下这个页面:https : //packaging.python.org/tutorials/installing-packages/

那一行是解决我的问题的那一行:

python3 -m pip install --upgrade pip setuptools wheel
Run Code Online (Sandbox Code Playgroud)