22

我正在尝试安装最新版本的六个 python 包,但我有以下问题。mac OSX 10.10.2中无法摆脱6个1.4.1

sudo pip install six --upgrade
Requirement already up-to-date: six in /Library/Python/2.7/site-packages
Cleaning up...

pip search six
six - Python 2 and 3 compatibility utilities
INSTALLED: 1.9.0 (latest)

python -c "import six; print six.version"
1.4.1

which -a python
/usr/bin/python
which -a pip
/usr/local/bin/pip

这里有什么问题?不能升级六!

4

10 回答 10

25

我通过以下方法解决了这个问题。

  1. 下载六一1.10.0.tar.gz包
  2. 使用此命令安装它。

python setup.py install

这是有效的,因为它将新版本的六安装到/Library/Python/2.7/site-packages/之前搜索/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/

于 2016-05-04T11:19:28.170 回答
17

您的pip二进制文件属于/usr/local/bin/python,而python指向/usr/bin/python. 作为结果

pip install --upgrade six

将安装到/usr/local/bin/python.

下面的命令将确保使用正确版本的 pip:

python -m pip install --upgrade six
于 2015-04-07T18:24:28.893 回答
16

对我有用的是使用easy_install而不是pip.

easy_install -U six

即使 pip 失败,Easy_install 也设法升级包。

于 2017-05-02T08:00:44.263 回答
16

对我来说,只需使用自制软件就可以解决所有问题。

brew install python
于 2015-11-27T11:13:58.087 回答
11

Mac OS X 的默认 python 作为框架安装。在 framework 目录下,有一个“Extras”目录,并且six包已经放在那里。

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py

根据描述(https://github.com/MacPython/wiki/wiki/Which-Python),在模块搜索路径/System/Library/Frameworks/Python.framework/Versions/2.7/Extras之前列出。/Library/Python/2.7/site-packages这意味着所有已经存在的包/System/Library/Frameworks/Python.framework/Versions/2.7/Extras都无法升级。

也许你应该手动安装 python 而不是使用默认的 python。

于 2015-04-16T06:16:48.203 回答
4

我在使用 pip 安装 openstack 客户端时遇到了这个确切的问题。我的解决方法是使用 easy_install 而不是 pip,因为它/Library/Python/2.7/site-packages/用于模块安装而不是/System/Library/Frameworks/Python.framework/Versions/2.7/Extras. 如果此解决方法不适合您,那么我可以确认@Masakazu Matsushita 具有设置PYTHONPATH/Library/Python/2.7/site-packages. 要实现该解决方法,请添加以下行:

export PYTHON_PATH=/Library/Python/2.7/site-packages

到您的~/.bashrc~/.profile(如果它是您尝试安装的 GUI Python 应用程序)。

于 2016-01-22T20:15:40.147 回答
3

尝试使用 pip2 它为我工作 pip2 install -U 6

于 2017-10-03T22:31:54.977 回答
3

试试这些步骤

  1. 使用 brew 重新安装 python

    $ brew install python

  2. 解决缺少符号链接的问题

    $ brew link --overwrite python

  3. 重启系统或运行

    $ hash -r python

于 2016-04-22T11:43:45.520 回答
1

最后,对我来说问题是我使用的是 IPython shell。

which ipython返回/usr/local/bin/ipython并检查该文件在顶部声明#!/usr/bin/python,这似乎绕过了我使用正确 python 位置的所有最大努力。

只需将此行更改#!/usr/local/bin/python为指向正确的 python 版本,就意味着 IPython 使用了正确的six模块。

于 2017-05-23T14:30:41.947 回答
1

虽然上述一种或另一种解决方案可能对您有用,但我认为了解正在发生的事情以及您有哪些选择很重要。我发现这个(相当冗长的)描述非常有用:它从概述选项开始,然后才提出解决方案。

于 2016-04-20T16:11:40.767 回答