【问题标题】:pip install on OS X Mavericks fails with error: /usr/local/bin/pip: No such file or directory在 OS X Mavericks 上安装 pip 失败并出现错误:/usr/local/bin/pip: No such file or directory
【发布时间】:2014-06-03 20:05:29
【问题描述】:

我正在运行 OSX 标配的 Python 2.7.5 版本。

我尝试使用 sudo easy_install pip AND python get-pip.py

安装 pip

当我尝试安装 pip 时,easy_install 出现以下错误:

Processing pip
Running setup.py -q bdist_egg --dist-dir /Users/XXXX/pip/egg-dist-tmp-VtRwku
warning: no files found matching 'pip/cacert.pem'
warning: no files found matching '*.html' under directory 'docs'
warning: no previously-included files matching '*.rst' found under directory 'docs/_build'
no previously-included directories found matching 'docs/_build/_sources'
no previously-included directories found matching 'tasks'
pip 1.6.dev1 is already the active version in easy-install.pth
Installing pip script to /usr/local/bin
error: /usr/local/bin/pip: No such file or directory

当我尝试使用 get-pip.py 安装 pip 时

Requirement already up-to-date: pip in /Library/Python/2.7/site-packages/pip-1.6.dev1-py2.7.egg
  • 当我输入 pip help 时没有任何显示

【问题讨论】:

  • 我已经安装了设置工具和 Xcode 命令行开发工具
  • 我的目标是安装包(目前是rpy2和pyodbc)
  • pip 1.6.dev1 is already the active version in easy-install.pth 检查您是否没有安装任何以前的 pip 版本。 ls -la /usr/local/bin 的输出是什么?
  • @Salem lrwxr-xr-x 1 XXX admin 30 Jun 2 12:55 pip -> ../Cellar/python/2.7.7/bin/pip lrwxr-xr-x 1 XXX admin 31 Jun 2 12:55 pip2 -> ../Cellar/python/2.7.7/bin/pip2 lrwxr-xr-x 1 XXX admin 33 Jun 2 12:55 pip2.7 -> ../Cellar/python/2.7.7/bin/pip2.7
  • 当我去 /Cellar/python/... 这些文件不存在

标签: python python-2.7


【解决方案1】:

@mirra.p 问题可能是您在 PC 上的不同位置安装了两个版本的 python 2,并且其中一个 python 副本的 pip 以某种方式被删除。因此,当您尝试为副本安装 pip 时,系统会说已经在另一个位置安装了一个 pip,并且 /usr/local/bin 文件夹也缺少用于安装 pip 的 pip 文件。

已经安装的 pip 文件的位置是这样的:

库/Python/2.7/site-packages/pip-1.6.dev1-py2.7.egg

我刚刚解决了这个问题,所以我会尝试以一种方式解释它,以便初学者也能正确理解它

将已经安装的pip文件复制到丢失的位置,而不是通过命令安装,因为命令会检测到已经安装的pip。

解决方法很简单:

在 Ubuntu 的终端(命令提示符)中运行这些命令

获取已安装的 pip 文件的位置

哪个点

cp <location provided by which pip> <location where to copy pip file>

cp /Library/Python/2.7/site-packages/pip /usr/local/bin

我使用了 mirra.p 问题的位置。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    错误消息,尤其是 cmets 中提到 Cellar 的附加诊断表明您已经使用 Homebrew 安装了另一个 Python 版本。

    可能只需将/usr/local/bin/pip 重命名为其他名称即可解决眼前的问题。我建议不要完全删除它,至少在你明白到底是什么错误之前。

    更详细;要使用系统 Python,您必须撤消 Homebrew 在安装第二个 Python 时所做的任何事情。首先,您需要取消设置 brew 之前在您的 .bashrc 和其他位置安装(或让您安装)的所有变量。

    如果您在/usr/local/bin 中有指向不再安装命令的位置的孤立符号链接,您只需删除这些(需要root 访问权限)。这是恶意卸载的标志;下次,请按照 Homebrew 说明来了解如何删除它以及随它安装的软件包。

    更详细地说,Howebrew 会做类似的事情

    ln -s /usr/local/Cellar/something/something/python-2.7.3 /usr/local/bin/python
    

    如果/usr/local/Cellar/something/something 现在不再存在,尝试通过符号链接在那里写东西显然会失败。这似乎正是pip 安装程序在安装结束时尝试做的事情。

    如果您已永久删除 Homebrew,您可以编辑 .bashrc 并恢复 Homebrew 所需的任何更改。某些设置可能会在您已经运行的 shell 实例中保持活动状态,直到下次重新启动;如果您想解决这些问题,请继续阅读。

    要临时覆盖设置,您可以unsetPYTHONPATH 恢复系统默认行为。如果您在/usr/local/bin 中有隐藏系统默认命令的命令,您可以通过简单地将PATH 临时设置为更喜欢/usr/bin(这只是临时破解);

    PATH=/usr/bin:$PATH
    

    shell 命令适用于 Bash;如果您使用其他 shell,请进行相应调整。

    【讨论】:

      【解决方案3】:

      如果您收到错误:/usr/local/bin/pip: No such file or directorypip 已安装,请执行以下操作来解决此问题:

      1. 运行which pip。它会给出类似的答案:/usr/local/bin
      2. 只需将 pip 文件复制到所需位置

      这里,

      cp /usr/local/bin /usr/local/bin/pip
      

      这解决了我的问题。

      【讨论】:

      • 您不能将目录复制到文件中。您需要root 权限才能将任何内容复制到/usr/local/bin/pip,但即使是root,您也无法将/usr/local/bin 有意义地复制到该位置。
      • 如果/usr/local/bin/pip 是一个符号链接,谁知道你最终会错误地覆盖什么。
      猜你喜欢
      • 2021-10-05
      • 1970-01-01
      • 2020-09-07
      • 2014-12-16
      • 2017-08-07
      • 2014-01-20
      • 2014-11-06
      • 1970-01-01
      • 2017-10-08
      相关资源
      最近更新 更多