2016-01-20 42 views
5

当我运行sudo pip install --upgrade six我碰到的问题如下:Python的 - 无法升级六个问题卸载以前版本

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-packagessix开头的文件:

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-infosix.pysix.pyc 但这样做对他们rm(与sudo,连)给出Operation not permitted。 那么现在的问题是,如何删除那些文件,给出它们在哪里?

+0

您可以随时到.../python2.7/site-packages /并手动删除六个软件包的文件夹。 –

+0

嗯,很好。好决定。我想到了,但有没有办法知道手动删除什么? – tscizzle

+0

是的。搜索“网站包”文件夹,然后你应该找到你的Python 2.7存储其模块的位置。它应该是..../python2.7/site-packages /的形式。在这个文件夹中,你会发现一个名为six的子文件夹,可能还有另一个用于六个鸡蛋信息的文件夹。删除两个,就是这样。 –

回答

1

我也在安装模块时遇到了一些问题,有时我发现它有助于重新开始。在这种情况下,它看起来像已经有一些'六'模块,但没有正确设置,所以如果sudo pip卸载六产生相同的事情,进入你的目录并手动删除任何有关六,和然后尝试安装它。您可能需要在存储模块的地方进行挖掘(或已经存储,因为pip可以在不同的位置找到它们)。

4

看起来像PIP 8已知的错误,现在正被固定(见Change 260150

直到问题解决后,您可以降级到7.1.2点子

+2

它看起来好像是行为(从警告到致命错误)中的预期更改,而不是bug(请参阅https://github.com/pypa/pip/issues/3384)。 – Collin