在 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 安装它们。我错过了什么?谢谢!
1 回答

潇潇雨雨
TA贡献1833条经验 获得超4个赞
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
以查看从何处导入包。
添加回答
举报
0/150
提交
取消