【问题标题】:Installing new versions of Python on Cygwin does not install Pip?在 Cygwin 上安装新版本的 Python 不会安装 Pip?
【发布时间】:2015-09-01 00:44:23
【问题描述】:

虽然我知道installing Pip from source 的选项,但我试图避免走这条路,以便 Pip 的更新将由 Cygwin 的包管理器管理。

recently learned 表示最新版本的 Python 包括 Pip。但是,即使我最近从 Cygwin 存储库安装了最新版本的 Python,Bash 也无法识别系统上的有效 Pip 安装。

896/4086 MB RAM 0.00 0.00 0.00 1/12 Tue, Jun 16, 2015 ( 3:53:22am CDT) [0 jobs]
[ethan@firetail: +2] ~ $ python -V
Python 2.7.10
892/4086 MB RAM 0.00 0.00 0.00 1/12 Tue, Jun 16, 2015 ( 3:53:27am CDT) [0 jobs]
[ethan@firetail: +2] ~ $ python3 -V
Python 3.4.3
883/4086 MB RAM 0.00 0.00 0.00 1/12 Tue, Jun 16, 2015 ( 3:53:34am CDT) [0 jobs]
[ethan@firetail: +2] ~ $ pip
bash: pip: command not found
878/4086 MB RAM 0.00 0.00 0.00 1/12 Tue, Jun 16, 2015 ( 3:53:41am CDT) [0 jobs]
[ethan@firetail: +2] ~ $ pip2
bash: pip2: command not found
876/4086 MB RAM 0.00 0.00 0.00 1/12 Tue, Jun 16, 2015 ( 3:53:42am CDT) [0 jobs]
[ethan@firetail: +2] ~ $ pip3
bash: pip3: command not found

请注意,安装的 Python 2.7.10 和 Python 3.4.3 都足够新,应该包含 Pip。

有什么我可能忽略的吗?是否有新安装的 Pip 不在 $PATH 中引用的标准二进制目录中?如果 Python 的 Cygwin 包确实没有包含 Pip,那么这是否足以保证向 Cygwin 项目报告错误?

【问题讨论】:

  • 有趣的 shell 提示符。
  • 您可以尝试python -m pip 来查看您的解释器中是否实际安装了 pip。在最新版本中,python -m ensurepip 应该引导 pip,如果它不存在的话。在 pip 的网站上,您还可以找到 get-pip.py 来引导 pip。
  • @rr- 我是个定制迷。我的提示是对我在网上找到的提示的修改。我无法轻易找到原始来源,但this 是基础知识的一个示例。我同时使用 $PROMPT_COMMAND 和 $PS1;在非 Cygwin 系统上,将第一行实现为 $PROMPT_COMMAND 并将第二行实现为 $PS1 是有意义的(这样在空白行上按 enter 看起来是正确的),但在 Cygwin 上,我将一些第一行放入出于性能原因,$PS1 以减少分叉。
  • @cel python -m pip 产生了 /usr/bin/python: No module named pip,但运行 python -m ensurepip 似乎已经安装了 pip,正如在 bash 中运行 pip 所验证的那样。说了这么多,不知道以后通过 Cygwin 更新 Python 是否也会更新 Pip;这是我发布这个问题的最初目标。

标签: python cygwin pip


【解决方案1】:

celcomment above 中自行回答了这个问题。为了后代,让我们将这个有用的解决方案转化为真正的答案。

很遗憾,Cygwin 目前未能:

  • 提供pippip2pip3 包。
  • 在安装python 包时安装pippip2 命令。
  • 在安装python3 包时安装pip3 命令。

是时候卷起我们肮脏的命令行袖子,自己动手了。

有什么收获?

由于 pip 包目前可用,具体问题的答案是“pip 可作为 Cygwin 包安装吗?”在技​​术上是“对不起,儿子。”

也就是说,pip 可以通过单线轻松安装。这需要手动重新运行所述单行程序以更新pip,但具有实际工作的明显优势。 (这比我们通常在 Cygwin Land 中得到的要多。)

pip3请安装

要在 Cygwin 下安装 pip3pip 的 Python 3 特定版本:

$ python3 -m ensurepip

当然,这假定 python3 Cygwin 软件包已安装。

pip2请安装

要同时安装pippip2 Python 2 特定版本的pip,在 Cygwin 下:

$ python -m ensurepip

当然,这假定 python Cygwin 软件包已安装。

【讨论】:

  • @cel 实际上是值得信赖的答案来源;他是第一个提出该解决方案的人。
  • 哦!非常正确。当然,你也很棒。 (已修复。
  • 安装后,要将pip升级到最新版本,运行python3 -m pip install --upgrade pip
  • 升级 pip2 会导致 pip3 消失。并且python3 -m ensurepip 不再起作用。
  • 我通过python3 -m pip install --upgrade pip重新访问了我的pip3
【解决方案2】:
  1. 下载帮助程序包:

  2. 运行脚本:

    • 对于 Python 2.7 运行:easy_install-2.7 pip
    • 对于 Python 3.4 运行:easy_install-3.4 pip

【讨论】:

  • 这似乎不允许 Cygwin 的包管理器保持 Pip 更新(这是我最初的目标)。由于需要另一个包并指定确切的版本号,它也比 cel 的评论(由 Cecil 编入答案)更复杂。不过,它可能对旧版 Python 用户有用。
  • 谢谢,由于某种原因,我安装的 pip 被破坏了,python -m ensurepip 无法复活。但是easy_install-2.7 --upgrade pip 的作用就像一个魅力。
猜你喜欢
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 2014-09-05
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多