【问题标题】:Where is pip installed using get-pip.py --user on Linux server在 Linux 服务器上使用 get-pip.py --user 安装 pip 的位置
【发布时间】:2017-04-04 05:37:40
【问题描述】:

ssh以用户身份进入 Linux 服务器。不知何故,服务器安装了 Python 2.7.5,但没有响应 which pip

所以我尝试根据pip docs使用get-pip.py安装pip。默认安装选项似乎有问题:

$ python get-pip.py
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/pip'

所以我尝试了:

$ python get-pip.py --user
Collecting pip
  Using cached pip-9.0.1-py2.py3-none-any.whl
Collecting setuptools
  Using cached setuptools-28.8.0-py2.py3-none-any.whl
Collecting wheel
  Using cached wheel-0.29.0-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-9.0.1 setuptools-28.8.0 wheel-0.29.0

但是which pip 仍然产生no pip in ...(my PATH)。安装在哪里,谁能猜一猜?

【问题讨论】:

  • 运行find $HOME -name 'pip' -print。这将告诉您它的安装位置,如果它在您的主目录中正确安装。
  • 很有趣,我在~/.local/lib/python2.7/site-packages/pip 中找到了它并将其添加到我的 PATH 中。令人惊讶的是,which pip 仍然没有找到它 (no pip in (...:[full path to ~/.local]))。
  • 添加到 PATH 时不要使用~。使用$HOME~ 扩展仅限于 shell,并且仅当它是单词中的第一个字符时。详情请见stackoverflow.com/questions/11587343/…
  • 我没有使用~。它是“~/.local 的完整路径”。
  • 通常,这也可以使用python -m pip <whatever> 解决,因为pip 是一个可执行模块/包。这还可以确保您拥有正确的 pip 版本来搭配正确的 Python 版本,这在您安装了多个 Python 版本(2.7、3.4、3.5...)的情况下非常有用。

标签: python linux python-2.7 pip


【解决方案1】:

如果pip 是通过python get-pip.py --user 安装的,则可执行文件应位于$HOME/.local/bin/pip

更新路径(例如~/.bashrc): PATH=$PATH:$HOME/.local/bin/

$ which pip ~/.local/bin/pip

【讨论】:

  • 这是正确的,前提是 PATH 设置正确。第二部分可能行不通。
  • 哦,抱歉,我意识到我遗漏了有关设置 PATH 的部分。我会将其添加到我的答案中。
【解决方案2】:

我遇到了同样的问题,但是这个命令帮助了hash -r 尝试然后使用命令which pip查看是否会定位到pip

【讨论】:

    猜你喜欢
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2019-01-05
    • 2021-04-04
    • 2011-07-18
    • 1970-01-01
    • 2015-08-28
    相关资源
    最近更新 更多