【问题标题】:Unable to install any package using Pip [duplicate]无法使用 Pip 安装任何软件包 [重复]
【发布时间】:2016-03-27 08:58:35
【问题描述】:

每当我运行命令pip install Django 时,我都会收到以下错误跟踪,这意味着存在一些版本冲突。我尝试卸载然后安装相同的包,但它抛出了同样的错误。

Downloading/unpacking bcrypt (from Django)
  Downloading bcrypt-2.0.0.tar.gz
  Running setup.py (path:/tmp/pip_build_root/bcrypt/setup.py) egg_info for package bcrypt
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip_build_root/bcrypt/setup.py", line 226, in <module>
        **keywords_with_side_effects(sys.argv)
      File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/setuptools/dist.py", line 225, in __init__
        _Distribution.__init__(self,attrs)
      File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/setuptools/dist.py", line 257, in finalize_options
        ep.require(installer=self.fetch_build_egg)
      File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py", line 2029, in require
        working_set.resolve(self.dist.requires(self.extras),env,installer))
      File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py", line 592, in resolve
        raise VersionConflict(dist,req) # XXX put more info here
    pkg_resources.VersionConflict: (certifi 2016.2.28 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('certifi==2015.11.20'))
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/tmp/pip_build_root/bcrypt/setup.py", line 226, in <module>

    **keywords_with_side_effects(sys.argv)

  File "/usr/lib/python2.7/distutils/core.py", line 111, in setup

    _setup_distribution = dist = klass(attrs)

  File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/setuptools/dist.py", line 225, in __init__

    _Distribution.__init__(self,attrs)

  File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__

    self.finalize_options()

  File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/setuptools/dist.py", line 257, in finalize_options

    ep.require(installer=self.fetch_build_egg)

  File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py", line 2029, in require

    working_set.resolve(self.dist.requires(self.extras),env,installer))

  File "/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py", line 592, in resolve

    raise VersionConflict(dist,req) # XXX put more info here

pkg_resources.VersionConflict: (certifi 2016.2.28 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('certifi==2015.11.20'))

----------------------------------------
Cleaning up...

我正在使用 Python 2.7。有人知道是什么问题吗?

【问题讨论】:

  • 我做到了。还是一样的错误
  • 那你可以试试pip install certifi==2015.11.20吗?
  • 我做到了。现在,我得到一个不同的错误:文件“/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py”,第1290行,在_setup_prefix while path !=old: RuntimeError: cmp 中超出最大递归深度 -------------------------------------- -- 清理...
  • "any package" 似乎很宽泛,因为您只显示了一个 bcrypt 包的错误消息
  • @cricket_007 但该错误是由distribute 引起的,它是setuptools 的一部分,因此每次安装都可能出现相同的错误。

标签: python python-2.7 pip


【解决方案1】:

似乎所有问题都是因为certifi 版本冲突

所以尝试从这里下载源代码 https://pypi.python.org/pypi/certifi

并从源代码安装

将其解压到文件夹中并运行此命令

sudo python setup.py  install

它应该可以工作

和平

【讨论】:

    【解决方案2】:

    当我已经使用 aptitude 或 pacman 之类的系统包管理器来安装那个包或依赖包时,我遇到了这种情况 (他们,pip 和系统包管理器,彼此不认识,虽然他们在同一个文件夹中安装包,一些站点包的东西,所以很容易得到一个文件已经存在这样的问题)

    你需要看看哪个是冲突的,打开你的python控制台,尝试导入它,用module_name看看它在哪里。文件,手动删除它(或文件夹)(请在之前备份问题真的解决了)。

    或者只是使用 pip 和系统包管理器来验证已经安装了哪些

    【讨论】:

      猜你喜欢
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多