【问题标题】:I'm confused about the difference between pip and pip3, in anaconda env我对 anaconda env 中 pip 和 pip3 之间的区别感到困惑
【发布时间】:2020-04-26 11:17:48
【问题描述】:

TL;DR: 在 pip3 下安装了一个包,但在 Python3 下找不到。为什么?

所有这些都发生在我的 anaconda 基础环境中:

所以我一直在为 tensorflow 及其版本苦苦挣扎(即将发布另一篇文章)。结果发现 2.1 版仅在 pip 上可用,而不是在 conda install 上可用。所以在升级pip3 install --upgrade pip 之后我安装了pip3 install tensorflow==2.1.0。之后我打开 Jupyer-Notebook,结果发现 tensorflow 没有安装(运行 Python3)。我首先从终端检查版本,然后卸载 tensorflow。它没有安装在 pip 下(如预期的那样),但它确实安装在 pip3 下。通过 pip3 卸载时我也收到此消息:

pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.

这可能是相关的。我的印象是 pip 为默认的 python 安装包(在我的例子中是 3.7.4),但 pip3 只为 Python3 安装它们。我错过了什么?

谢谢!

【问题讨论】:

标签: python pip jupyter-notebook


【解决方案1】:

pip3下安装了一个包,但是在Python3下找不到。为什么?

因为您有许多不同的 Python。 pip 不会为所有 Python 安装包; pip3 不为 Python3 安装包。他们为正在运行的特定 Python 安装软件包。如果它们的版本相同,你不能指望用一个 Python 安装一个包并在另一个前夕导入它。

要查看 Python 与特定 pip 一起使用的内容,请参阅其 shebang

head -1 $(which pip)
head -1 $(which pip3)

如果 shebang 是 #!/usr/bin/env python,请继续使用 which python(或 which python3)进行调查。

查找 Python 运行 python -m site 以查看从何处导入包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 2014-08-30
    • 2016-09-30
    相关资源
    最近更新 更多