【问题标题】:ImportError: No module named externImportError:没有名为 extern 的模块
【发布时间】:2016-05-28 13:41:49
【问题描述】:

我在尝试使用 pip 安装任何软件包时遇到此错误。我有两个 pip 实例,一个使用 Python 2.7,另一个使用 Python 3。

    Could not import setuptools which is required to install from a source distribution.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 375, in setup_py
    import setuptools  # noqa
  File "/usr/local/lib/python2.7/dist-packages/setuptools/__init__.py", line 11, in <module>
    from setuptools.extern.six.moves import filterfalse, map
  File "/usr/local/lib/python2.7/dist-packages/setuptools/extern/__init__.py", line 1, in <module>
    from pkg_resources.extern import VendorImporter
ImportError: No module named extern

即使我尝试安装“extern”模块,我也会收到此错误。在使用 Python 本身安装时,例如 python setup.py install

提前致谢。

【问题讨论】:

  • 你使用 virtualenv 吗?
  • 是的,我使用 virtualenv 和 virtualenvwrapper。
  • 您能说说您使用的是哪个操作系统吗?
  • 我使用的是基于 ubuntu 的发行版。
  • 在 OSX 10.11.7 上重新安装 setuptools 对我不起作用。你能帮我么。我的错误说也没有名为 extern 的模块。

标签: python python-2.7 pip setuptools importerror


【解决方案1】:
sudo apt-get purge python-pkg-resources
sudo apt-get -f install

这里实际上已经删除了包并且 已清除(所有配置文件也将被删除)。

-f : 尝试纠正存在已损坏依赖项的系统。

sudo pip install packagename

#sourcehere

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关 why 和/或 如何 此代码回答问题的附加上下文将显着改善其长期-期限价值。请edit你的答案添加一些解释。
  • 虽然我不太明白这里发生了什么,但已经帮了我两次了。
【解决方案2】:

这样做会奏效

sudo pip install -U setuptools 

【讨论】:

  • 不幸的是,这只是让我从 pip 那里得到一个关于 'module' object has no attribute 'PROTOCOL_SSLv3' 的错误
【解决方案3】:

我知道这是一个旧线程,但我只是想贡献一下,因为我遇到了这个问题并且这个线程不断出现在结果中。

注意:这是在 MacOS 10.12 上。我的 shell 是 zsh,我已经安装了 brew

首先我运行了这些命令

brew install python
brew install python3

这将安装它,或者您会像我一样收到“已安装”消息。

接下来,运行以下命令

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

最后:

sudo python get-pip.py

最后说明:为了让我的安装工作,我最终不得不使用 pip3 运行命令

sudo pip3 install nameofinstallhere

【讨论】:

  • 这解决了我在 macOS 10.13.4 上的问题,而没有其他方法。谢谢!
【解决方案4】:

不确定是安装问题还是打包问题,但如果你已经完美安装了python,那么你似乎无法导入它们的任何包

试试这个命令

第 1 步:

$which pip
/usr/local/bin/pip

第 2 步:

/usr/local/bin/pip install django

或任何你的包名。 我正在考虑 ubuntu(OS)

【讨论】:

  • 这解决了github.com/pypa/pip/issues/1064,但感谢您的回答。
  • 如果您要使用由which 返回的pip(即首先在路径上),则无需在步骤中使用它的绝对路径2.解决方法就是pip install django
【解决方案5】:

你可以试试下面的命令;它对我有用:

sudo apt-get install --reinstall python-setuptools

【讨论】:

    猜你喜欢
    • 2016-06-30
    • 2017-01-28
    • 2013-03-11
    • 2012-12-07
    • 2012-05-23
    • 2019-07-29
    • 2015-07-04
    • 2014-03-15
    • 2017-12-29
    相关资源
    最近更新 更多