使用 pip3:模块“importlib._bootstrap”没有属性“SourceFileLoader”
Posted
技术标签:
【中文标题】使用 pip3:模块“importlib._bootstrap”没有属性“SourceFileLoader”【英文标题】:using pip3: module "importlib._bootstrap" has no attribute "SourceFileLoader" 【发布时间】:2017-11-29 10:13:14 【问题描述】:我已经在 Ubuntu 14 上为 python 3.6 安装了 pip。运行之后
sudo apt-get install python3-pip
安装pip3,效果很好。但是,安装后,当我尝试运行时
pip3 install packagename
要安装一个新的包,会发生一些奇怪的事情:
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"
看来我没有做错什么,实在想不通。
【问题讨论】:
您尝试安装的每个软件包都会出现这种情况吗? 看来问题出在 python 版本上。 @SamChats 是的...实际上每次我输入“pip3”都会出现这个问题,例如“pip3 --version”等。 见***.com/a/44354166/7976758 @phd 你为什么发这个。人们来这里的原因是因为顶部答案的第一个命令不起作用。 【参考方案1】:面临同样的问题。我认为这是因为python3.6
和pip3
是从不同的来源安装的。
我建议使用 python 的内置工具来安装 pip 即
python3 -m ensurepip --upgrade
这应该安装pip3
和pip3.x
其中x 在python3.x
。
同样适用于python2
。
【讨论】:
'/usr/bin/python3.6: No module named ensurepip' 有什么想法吗? 这很奇怪!根据docs.python.org/3/library/ensurepip.htmlensurepip
是python 标准库的一部分。你确定你正确安装了python并且也可以访问吗?
ensurepip
在 Ubuntu 上可用吗?在我的 Ubuntu 环境中,我无法导入它。也许,在许多其他环境中,ensurepip
不可用。
@H.Jang 是的。它是 Ubuntu 中的一个错误。 bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847
嘿@Ibrahim.H,我自己没有检查过,所以不能说【参考方案2】:
我无法编辑我现有的答案,所以我不得不添加另一个答案:
这对我有用:
sudo pip install python-dotenv
【讨论】:
1.你怎么知道? 2. 还是 这是对我有用的。在我的情况下,接受的答案没有做任何事情 我认为这个答案是针对 dotenv 的sudo pip3 install python-dotenv
如果你在 pip for python2 旁边安装了 pip3【参考方案3】:
尝试使用 python 3.8 在 Windows 10 机器上的 venv 中安装 Tensorflow,但遇到了同样的问题。
对我有帮助的是:
pip install setuptools --upgrade
【讨论】:
对 Ubuntu 18.04 也有帮助 我有基于 Ubuntu 的Pop!_OS 20.10
,这很有帮助【参考方案4】:
我在使用 python 3.6 的 ubuntu 18.04 上遇到了同样的问题。以上方法都没有帮助,但是这个解决了问题:
pip3 uninstall setuptools
【讨论】:
我遇到了 fs-uae-launcher 无法在 Debian Buster 上启动的问题,因为:AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader' 卸载 setuptools 修复了它。 感谢您的解决方案,上述解决方案均无效,这个问题困扰了我一天 :)pip3 uninstall setuptools
使情况更糟pip3 install setuptools
与 topick 中的错误相同【参考方案5】:
无论我要求点什么,我都遇到了同样的错误。我看了一下这个页面:https://packaging.python.org/tutorials/installing-packages/
那一行是解决我问题的那一行:
python3 -m pip install --upgrade pip setuptools wheel
【讨论】:
从 Ubuntu 19.10 升级到 20.04 后,我遇到了 pip3 的这个问题。我没有发现任何工作。这终于解决了。【参考方案6】:在 ubuntu 14.04 上将 python3.4 更新为 python3.6 时。以下解决了我:
wget https://bootstrap.pypa.io/ez_setup.py -O - | python3
【讨论】:
没有为我解决。 这个对我有用,只是将 sudo 添加到 python3 wget bootstrap.pypa.io/ez_setup.py -O - |须藤python3【参考方案7】:pip install setuptools --upgrade
这个命令解决了我的问题
【讨论】:
【参考方案8】:那是因为您使用的是旧版本的 setuptools,请查看此issue。
【讨论】:
【参考方案9】:如果您在 anaconda 环境中遇到此问题,只需使用以下命令升级 setuptools:
conda install -c conda-forge setuptools
【讨论】:
【参考方案10】:我遇到了同样的问题,这是关键:
curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3
【讨论】:
【参考方案11】:我也遇到了同样的问题,通过下载setuptools的源文件,手动安装模块解决了。
安装工具可以在这里下载:
https://pypi.org/project/setuptools/
下载后先解压包,然后cd到目录下运行
python setup.py install --user
【讨论】:
救了我的命 :)【参考方案12】:对我来说,尝试使用 python 3.8 创建虚拟环境时发生错误:
sudo virtualenv venv -ppython3.8
并且在这里尝试了所有答案后,终于通过安装virtualenv
的新版本解决了问题(20.0.7):
sudo pip3 install virtualenv
【讨论】:
【参考方案13】:我在 Ubuntu 19.10 上遇到过同样的问题,现在我升级到 Ubuntu 20.04 并再次遇到这个问题。这个问题是由于 pip3 损坏造成的。因此,每当您输入 pip3 并按回车键时,它都会显示相同的错误。因此,不要使用“pip3 卸载 setuptools”,而是使用下面的代码
python3 -m pip uninstall setuptools
它第三次解决了我的问题
【讨论】:
【参考方案14】:我遇到了由稍微不同的情况触发的此错误消息,我将在此处为发现此问题的任何人提及。
在 Python 3.6 或更高版本中安装distribute
Python 包(目前只是setuptools
前面的一个兼容层)时也会出现同样的错误。
在我的具体情况下,我在使用pyzmail
which has been somewhat abandoned and depends on distribute
时发现了这一点。
Collecting distribute
Downloading distribute-0.7.3.zip (145 kB)
ERROR: Command errored out with exit status 1:
command: /var/lang/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ssqyqflj/distribute/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ssqyqflj/distribute/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-hgbjn0js
cwd: /tmp/pip-install-ssqyqflj/distribute/
Complete output (15 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-ssqyqflj/distribute/setuptools/__init__.py", line 2, in <module>
from setuptools.extension import Extension, Library
File "/tmp/pip-install-ssqyqflj/distribute/setuptools/extension.py", line 5, in <module>
from setuptools.dist import _get_unpatched
File "/tmp/pip-install-ssqyqflj/distribute/setuptools/dist.py", line 7, in <module>
from setuptools.command.install import install
File "/tmp/pip-install-ssqyqflj/distribute/setuptools/command/__init__.py", line 8, in <module>
from setuptools.command import install_scripts
File "/tmp/pip-install-ssqyqflj/distribute/setuptools/command/install_scripts.py", line 3, in <module>
from pkg_resources import Distribution, PathMetadata, ensure_directory
File "/tmp/pip-install-ssqyqflj/distribute/pkg_resources.py", line 1518, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
【讨论】:
【参考方案15】:当我尝试在 Windows 10,Python 3.7.4 版本中安装 Slate 包时遇到了同样的问题:
AttributeError: 模块 'importlib._bootstrap' 没有属性 'SourceFileLoader'
产生错误的指令:
C:\WINDOWS\system32>python -m pip install slate
有效的指令:
C:\WINDOWS\system32>python -m pip install https://github.com/timClicks/slate/archive/master.zip
【讨论】:
【参考方案16】:Traceback (most recent call last):
File "/usr/bin/pipenv", line 6, in <module>
from pkg_resources import load_entry_point
File "/home/myuser/.local/lib/python3.7/site-packages/pkg_resources.py", line
1479, in <module>
我的看起来很相似,但由于某种原因,我在我的主目录 .local 文件夹中安装了 python。
我在这个帖子中做了一些其他的答案,以确保我有良好的本地 python 副本,然后做了:
rm -rf ~/.local
【讨论】:
【参考方案17】:我的云电脑也有同样的问题。如果以上所有内容都不适合您,请不要担心。以下是我的解决方法:
-
从以下位置下载
pip
文件 (pip-version.tar.gz
):
https://pypi.org/project/pip/#files
对于云,使用这个
curl https://files.pythonhosted.org/packages/8e/76/66066b7bc71817238924c7e4b448abdb17eb0c92d645769c223f9ace478f/pip-20.0.2.tar.gz --output pip.tar.gz
-
解压文件内容并cd到目录中。
在目录中运行以下命令
python3 setup.py install --user
您应该让 pip3 正常工作。
【讨论】:
仍然得到同样的错误 - Ubuntu 14: AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'【参考方案18】:只需进入/usr/lib/python3/dist-packages/
,首先将 setuptools 文件复制到某处,然后删除 setuptools 一切都可以删除,您可以使用
sudo rm -r setuptools
用于复制
sudo cp -r setuptools /...Desktop/
之后如果它给出错误只是
sudo pip3 install setuptools==3.8.1
重新下载
【讨论】:
【参考方案19】:pip3 install setuptools --upgrade
这也解决了在 Windows 10 甚至自定义 Docker 映像上运行的 Python 3.9 上的问题。
【讨论】:
【参考方案20】:我在使用docker-compose
时遇到了同样的问题。这个确切的错误可能是由于不是 root 用户造成的。使用sudo
运行相同的命令为我修复了它。我没有安装setup-tools
,我正在运行pip3
。我的问题是 IntelliJ 没有 sudo 权限,所以我必须从终端执行。
【讨论】:
【参考方案21】:以上解决方案不适用于我的 Ubuntu 20
如果你运行以下命令:
sudo apt install python3-setuptools
那么你可能会得到结果:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-setuptools is already the newest version (45.2.0-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
但要真正解决它并重新安装 setuptools,请尝试以下命令:
sudo apt download python3-setuptools
sudo dpkg -i python3-setuptools_45.2.0-1_all.deb
注意:更改下载的python包的版本
【讨论】:
以上是关于使用 pip3:模块“importlib._bootstrap”没有属性“SourceFileLoader”的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Gitlab CI 中使用 pip3 安装 python3 PyQt5 模块
在没有 pip/pip3 的情况下安装诸如“Web3”之类的 python 模块?
ubuntu下使用pip3.6安装模块总是报ssl module in Python is not available的错误
ubuntu下使用pip3.6安装模块总是报ssl module in Python is not available的错误
ModuleNotFoundError:没有名为“键盘”的模块,尝试过 pip3 安装,尝试过 -pip list 它在那里