【问题标题】:Anaconda update conflicts with pip update and conda update, and pip installed in anaconda seems brokenAnaconda更新与pip更新和conda更新冲突,安装在anaconda中的pip好像坏了
【发布时间】:2014-01-19 08:27:19
【问题描述】:

我刚开始在 Ubuntu 12.04 上使用 anaconda。当我尝试按照here 的说明进行更新时,我遇到了冲突:

nikos@nikos-hp:~$ conda update conda
# All packages already at latest version, nothing to do.
# packages in environment at /home/nikos/anaconda:
#
# Warning: Your version of pip is older than what conda requires for pip
# integration, so pip-installed packages will not be displayed.  Please
# update pip, (conda update pip -p /home/nikos/anaconda)

conda                     2.3.1                    py27_0  

所以我更新 pip

nikos@nikos-hp:~$ conda update pip -p /home/nikos/anaconda

更新到 pip-1.5,并将其链接到 anaconda。然后我也继续更新 anaconda

nikos@nikos-hp:~$ conda update anaconda

此时我停止了,因为此更新似乎想要链接回我刚刚升级的 pip-1.4.1。

据我从这篇帖子here 了解到,即使 conda 警告我升级到 1.5,我也应该坚持使用 pip 1.4.1。但是,无论我链接哪个版本,我都会收到错误

nikos@nikos-hp:~/anaconda/bin$ ./pip list
apptools (4.2.0)
astropy (0.2.5)
atom (0.3.4)
.
.
scikit-learn (0.14.1)
scipy (0.13.0)
Exception:
Traceback (most recent call last):
  File "/home/nikos/anaconda/lib/python2.7/site-packages/pip/basecommand.py", line 134, in main
    status = self.run(options, args)
  File "/home/nikos/anaconda/lib/python2.7/site-packages/pip/commands/list.py", line 80, in run
    self.run_listing(options)
  File "/home/nikos/anaconda/lib/python2.7/site-packages/pip/commands/list.py", line 127, in run_listing
    self.output_package_listing(installed_packages)
  File "/home/nikos/anaconda/lib/python2.7/site-packages/pip/commands/list.py", line 136, in output_package_listing
    if dist_is_editable(dist):
  File "/home/nikos/anaconda/lib/python2.7/site-packages/pip/util.py", line 347, in dist_is_editable
    req = FrozenRequirement.from_dist(dist, [])
  File "/home/nikos/anaconda/lib/python2.7/site-packages/pip/__init__.py", line 207, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

【问题讨论】:

    标签: python pip anaconda


    【解决方案1】:

    问题是影响 pip 的分发中的错误。该错误消息有点误导,因为您只是被告知“pip list”发生错误

    要解决此问题,您需要删除分发,然后安装 setuptools(替换分发)。

    conda remove distribute
    conda update setuptools 
    

    这些命令应该可以解决问题。这将在 Anaconda 的下一个版本中修复。

    【讨论】:

    • 感谢您的帮助,不幸的是它没有解决问题。运行这两行后出现同样的问题。让我在周末更多地了解一下我的 pip/anaconda 互动。如果我找到解决方案,我会再次发布,或者启动一个具有更多细节的新线程
    • 这对我也不起作用。要恢复分发,它是conda install distribute
    猜你喜欢
    • 2021-02-11
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 2018-12-15
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多