【发布时间】: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-info、six-1.9.0.dist-info、six.py、six.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-info、six-1.9.0.dist-info、six.py、six.pyc它们都可以安全删除吗? -
@ZoltanFedor 甜蜜。看到我的编辑 2?我刚刚删除了那些,但事实证明现有的
six不是来自站点包。还有一个,但它不允许我删除。
标签: python installation pip upgrade six