【问题标题】:Unable to upgrade python six package in mac osx 10.10.2mac osx 10.10.2 无法升级python 六包
【发布时间】:2015-06-11 16:54:47
【问题描述】:

我正在尝试安装最新版本的六个 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

这里有什么问题?无法升级六!

【问题讨论】:

  • 尝试卸载六个:pip uninstall six。然后进行安装。
  • 似乎pythonpip 不属于同一个解释器。请改用python -m pip install --upgrade six。如果这没有帮助,请考虑将which -a pythonwhich -a pip 的输出添加到您的问题中。
  • @DanielRoseman 不,我不在 virtualenv 中。
  • 这是我主要转向 Node 和 NPM 的原因之一。这些与 Python 依赖项有关的病态问题。

标签: python macos pip six


【解决方案1】:

尝试使用 pip2 它对我有用 pip2 install -U 六

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      easy_install -U six
      

      即使 pip 失败,Easy_install 也能成功升级软件包。

      【讨论】:

      • 太棒了。像这样的事情让我想知道为什么我用电脑做任何事情。纸笔有什么问题?
      • 我认为这在 MacOS 10.13.3 中对我有用,但它并没有立即生效,我想我只需要重新启动终端。六个 1.4.0 仍然在 /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python 目录中,但处于非活动状态。
      • 我最终安装了我最终尝试安装的依赖于六个(awscli)和easy_install的东西。似乎 pip install 在 Mac OS X 上可能会被破坏
      【解决方案4】:

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

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

      python setup.py install

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

      【讨论】:

      【解决方案5】:

      试试这些步骤

      1. 使用 brew 重新安装 python

        $ brew install python

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

        $ brew link --overwrite python

      3. 重启系统或运行

        $ hash -r python

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

          我在使用 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 应用程序)。

          【讨论】:

          • 等等,是 PYTHONPATH 还是 PYTHON_PATH?
          【解决方案8】:

          对我来说,只需使用 homebrew 即可解决所有问题。

          brew install python
          

          【讨论】:

            【解决方案9】:

            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。

            【讨论】:

            • 另一种解决方案是将PYTHONPATH 设置为export PYTHONPATH=/Library/Python/2.7/site-packagesPYTHONPATH 中指定的所有路径的优先级高于 OS X 框架 python 库。
            • 这对我有用:python -m pip install --upgrade 6
            • 我的六个不会更新,因为我的库中的 Caches 库没有正确的权限/所有权(根据 pip)。 @roopalgarg 的解决方案也对我有用(osx 10.11)。谢谢!
            • 这对我不起作用.. 仍然出现同样的错误,无法升级框架包。作为一个新手,我会找到一个逐步解决这个问题的地方吗?我安装了 python 3 和 python 2。这可能是个问题吗?我在 mac os x 10.11.1 上
            【解决方案10】:

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

            pip install --upgrade six
            

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

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

            python -m pip install --upgrade six
            

            【讨论】:

            • 您的回答对我有帮助。我正在使用 Mac os x 10.10.5
            • 我做了更改,但仍然收到相同的错误消息.. 我在 10.11.1
            • @Raghav,如果您准确记录您所做的以及您遇到的错误,然后开始一个链接到我的答案的新问题,这可能是最好的。
            • 尝试升级六是目标,显然,它的系统包的一部分,这是消息---------- ------------ OSError: [Errno 1] Operation not allowed: '/var/folders/98/kcksn_cn7619mkjsmlgqt8lc0000gn/T/pip-mSyToD-uninstall/System/Library/Frameworks/Python.framework/ Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info' -------------- 我有相同的规范,--->$ which -a pip ==>/Library/Frameworks/Python.framework/Versions/3.4/bin/pip ===>/usr/local/bin/pip --->$ which -a python ===>/usr/ bin/python
            猜你喜欢
            • 2016-11-03
            • 2016-10-08
            • 1970-01-01
            • 1970-01-01
            • 2018-02-18
            • 2014-04-28
            • 1970-01-01
            • 1970-01-01
            • 2011-11-26
            相关资源
            最近更新 更多