pip 不适用于 hombrew python 2.7 安装

You*_*wan 15 bash python homebrew pip macos

我已经使用自制软件安装了 python,但无法从 bash 调用 pip。我尝试修改我的 .bash_profile 以包含 /usr/local/bin/python 和 /usr local/share/python 无济于事。

当我使用 bash 命令时:

find / -name 'pip'
Run Code Online (Sandbox Code Playgroud)

我得到的唯一结果是:

/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip
/Users/Ivan/Library/Caches/pip
/Users/Ivan/Library/Logs/pip
/usr/local/Cellar/python/2.7.9/libexec/pip
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
/usr/local/lib/python2.7/site-packages/pip
Run Code Online (Sandbox Code Playgroud)

其中没有一个是可执行文件。

我真的不知道在哪里指向我的 $PATH,因为我找不到 pip 可执行文件。当我打开

/usr/local/lib/python2.7/site-packages/pip
Run Code Online (Sandbox Code Playgroud)

或者

/usr/local/Cellar/python/2.7.9/libexec/pip/pip
Run Code Online (Sandbox Code Playgroud)

我找到以下文件:

__init__.py         commands            operations
__init__.pyc        compat              pep425tags.py
__main__.py         download.py         pep425tags.pyc
__main__.pyc        download.pyc        req
_vendor             exceptions.py       status_codes.py
basecommand.py      exceptions.pyc      status_codes.pyc
basecommand.pyc     index.py            utils
baseparser.py       index.pyc           vcs
baseparser.pyc      locations.py        wheel.py
cmdoptions.py       locations.pyc       wheel.pyc
cmdoptions.pyc      models
Run Code Online (Sandbox Code Playgroud)

其中没有一个是可执行文件。

我会感谢任何比我更有经验的人的帮助。

编辑:我尝试了 Marco 建议的步骤:

以下是步骤的结果:

  1. echo $PATH 显示几个目录:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/ texbin:/opt/X11/bin:/usr/local/mysql/bin

  2. which -a python 返回:/usr/local/bin/python /usr/local/bin/python

对于 -a pip 不返回任何内容

  1. 哪个 python 返回:/usr/local/bin/python

对于哪个 pip 不返回任何内容

  1. ls -l $(which python) 返回单个目录:lrwxr-xr-x 1 Ivan admin 33 17 May 08:59 /usr/local/bin/python -> ../Cellar/python/2.7.9/bin/ Python

ls -l $(which pip) 返回几个,包括我在原始帖子中展示的 python 文件

Mar*_*gen 18

通常,homebrew将安装一个formula/usr/local/Cellar/formula,然后在 中放置一个链接/usr/local/bin/formula

要使用您安装的公式,请确保/usr/local/bin在您的$PATH. $PATH通过键入显示您的

echo $PATH
Run Code Online (Sandbox Code Playgroud)

如果/usr/local/bin不在您的 中$PATH,请将这一行放在~/.profile文件的末尾。

export PATH="/usr/local/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

现在,pythons通过键入以下内容检查您的 OSX 上发现了什么:

which -a python
Run Code Online (Sandbox Code Playgroud)

应该在/usr/bin/(Apple python) 上找到一个 python,在那里找到一个/usr/local/bin/Homebrew python。

which python
Run Code Online (Sandbox Code Playgroud)

会告诉你,哪个 python 首先在你的文件中找到,$PATH 并且会在你调用python.

如果您想知道可执行文件在哪里,请键入

ls -l $(which python)
Run Code Online (Sandbox Code Playgroud)

这可能如下所示:lrwxr-xr-x 1 root wheel 68 7 Mai 13:22 python -> /usr/local/bin/python

这也适用pip

如果您显示此步骤的结果,我们可能会更轻松地为您提供帮助。

- 更新 -

您已/usr/local/bin/python链接到/usr/local/Cellar/python/2.7.9/bin/python。->brew install python工作。

显示,如果pip通过键入安装

brew list python | grep pip
Run Code Online (Sandbox Code Playgroud)

你应该看到

/usr/local/Cellar/python/2.7.9/bin/pip
Run Code Online (Sandbox Code Playgroud)

如果没有,请检查是否存在未使用brew install. 告诉你这样的事情:

"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"
Run Code Online (Sandbox Code Playgroud)

要强制链接并覆盖所有冲突文件:

brew link --overwrite python
Run Code Online (Sandbox Code Playgroud)

列出所有将被删除的文件:

brew link --overwrite --dry-run python
Run Code Online (Sandbox Code Playgroud)

** 没有标准的苹果/usr/bin/python**

链接从/usr/local/Cellar/python/2.7.9/bin/python/usr/bin/python

ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

这对于所有以#!/usr/bin/python. easy_install如果链接不存在,Especialy将失败。

现在,您可以运行

easy_install pip
Run Code Online (Sandbox Code Playgroud)

希望你在进步


Gra*_*Fox 5

如果 brew 正在管理您的 python 安装并且 pip 不再符号链接(即您输入“which pip”但没有得到任何结果),请从您的主目录尝试以下操作:

brew unlink python && brew link python
Run Code Online (Sandbox Code Playgroud)

不确定旧方法是否不再有效(在我的机器上没有)。

现在确认它确实指向您的 2.7 安装pip --version(它将在目录输出中列出 python 主要版本)。