【问题标题】:Python - Cannot upgrade six, issue uninstalling previous version [duplicate]Python - 无法升级六,卸载以前的版本时出现问题[重复]
【发布时间】:2016-04-27 01:13:26
【问题描述】:

当我运行sudo pip install --upgrade six 时,我遇到了以下问题:

2016-01-20 18:29:48|optim $ sudo pip install --upgrade six Collecting six Downloading six-1.10.0-py2.py3-none-any.whl Installing collected packages: six Found existing installation: six 1.4.1 Detected a distutils installed project ('six') which we cannot uninstall. The metadata provided by distutils does not contain a list of files which have been installed, so pip does not know which files to uninstall.

我有 Python 2.7,我在 Mac OS X 10.11.1 上。

我怎样才能使这次升级成功?

(还有其他类型的相关帖子,但他们实际上并没有解决同样的错误。)

编辑:

有人告诉我,我可以通过从 site-packages 中删除内容来手动删除 six。这些是site-packages 中以six 开头的文件:

six-1.10.0.dist-infosix-1.9.0.dist-infosix.pysix.py

它们都正确/安全删除吗?

EDIT2:

我决定从site-packages中删除那些,但事实证明无法安装的现有six实际上在
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python中。
在那里我看到了文件:
six-1.4.1-py2.7.egg-info, six.py, six.pyc 但是对它们执行rm(甚至使用sudo)会得到Operation not permitted。 所以现在的问题是,我怎样才能删除那些文件,给定它们在哪里?

【问题讨论】:

  • 你可以一直到.../python2.7/site-packages/手动删除这六个包的文件夹。
  • 嗯,很好。好决定。我想到了,但有没有办法知道手动删除什么?
  • 是的。搜索“site-packages”文件夹,然后您应该会找到您的 python 2.7 存储其模块的位置。它的格式应该是 ..../python2.7/site-packages/ 在这个文件夹中,你会发现一个名为 6 的子文件夹,可能还有另一个文件夹,用于存放 6 个鸡蛋信息。删除两者就可以了。
  • 我的站点包中有这些文件:six-1.10.0.dist-infosix-1.9.0.dist-infosix.pysix.pyc 它们都可以安全删除吗?
  • @ZoltanFedor 甜蜜。看到我的编辑 2?我刚刚删除了那些,但事实证明现有的six 不是来自站点包。还有一个,但它不允许我删除。

标签: python installation pip upgrade six


【解决方案1】:

看起来像 pip 8 中的一个已知错误,现在正在修复(请参阅Change 260150

在解决此问题之前,您可以降级到 pip 7.1.2

【讨论】:

【解决方案2】:

我在安装模块时也遇到了一些问题,有时我发现重新开始会有所帮助。在这种情况下,您似乎已经有了一些“六”模块,但没有正确设置,所以如果 sudo pip uninstall 6 产生相同的结果,请进入您的目录并手动删除与 6 相关的任何内容,然后然后尝试安装它。您可能需要挖掘存储模块的位置(或已存储模块,因为 pip 可以在不同的位置找到它们)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    相关资源
    最近更新 更多