【问题标题】:Unavailable to install Tensorflow 1.x on Ubuntu 20.04 LTS using pip无法使用 pip 在 Ubuntu 20.04 LTS 上安装 Tensorflow 1.x
【发布时间】:2020-09-01 19:41:34
【问题描述】:

我有理由应该使用 Tensorflow 1.x 版本,但它返回错误消息:

ERROR: Could not find a version that satisfies the requirement tensorflow==1.15.2 (from versions: 2.2.0.rc1 ~~~~~
ERROR: No matching disribution found for tensorflow==1.15.2

我也尝试过 .whl 安装,但最新的 Tensorflow 1.15.2 支持 cp37,我不能再使用它了。

pip 或 pypi 是否不再支持 tensorflow 1.x?还是我应该降级 python(3.8 > 3.7) 并使用 .whl 文件安装 Tensorflow?

[系统环境] Ubuntu 20.04 LTS Python版本:3.8.2 点子版本:20.0.2

谢谢。

【问题讨论】:

  • 2.2 之前的 Tensorflow 版本不支持 Python 3.8。如果你想使用 Tensorflow 1.15,你需要降级。

标签: python tensorflow pip


【解决方案1】:

根据 tensorflow 安装指南,tensorflow 在 Python 3.5–3.7 上可用,您使用的是更新版本的 Python。


上面的答案已经过时了

Tensorflow 现在支持 Python 3.8,但需要 Python 3.8 支持

  • TensorFlow 2.2 或更高版本
  • pip 19.0 或更高版本
  • Ubuntu 16.04 或更高版本
  • ma​​cOS 10.12.6 (Sierra) 或更高版本
  • Windows 7 或更高版本
  • Raspbian 9.0 或更高版本

另外,GPU 支持需要支持 CUDA 的卡(Ubuntu 和 Windows)

您可以使用以下命令检查您的 Python 和 pip 版本:

python --version | python3 --version
Out: Python 3.8.2

pip --version | pip3 --version
Out: pip 20.1.1

您可以通过以下方式升级您的点子:

pip install --upgrade pip

更多信息可以在这个链接上找到:Install TensorFlow with pip

【讨论】:

  • 感谢您的回答。只是降级python版本,对吧?
  • 是的,只是降级它,您的系统满足其他要求,例如“pip 19.0 或更高版本”和“Ubuntu 16.04 或更高版本(64 位)”
  • 感谢您的友好回答:D 祝您有美好的一天!
【解决方案2】:

似乎越来越多的我们不得不改用容器(Docker,可能还有云虚拟机),因为一切都与一切都不兼容。是的,你可以在任何版本的 Linux 上启动一个运行 Python 3.7 和 Tensorflow 1.x 的 Docker 容器,但是你想从那个容器加载文件,你必须传递黑魔法命令行选项来挂载卷。尝试使用 Tensorflow 2,一切都失败了。没有更多的 tf.Session(),没有更多的 tf.global_variables_initializer() 等。所以在 Ubuntu 中没有工作的 TensorFlow,你必须使用 Docker。

【讨论】:

  • 不需要 Docker “黑魔法”!使用 Conda 查看我上面的答案。
  • 如果向 docker 命令添加几个参数是“黑魔法”,Conda 本身及其底层引擎,Vodoo 圣经是什么?运行一个非常适合的容器总是比在引擎盖下安装一千个“正常工作”的东西更可取,而且你有额外的好处来学习一些东西并知道你到底在做什么
  • 使用 docker 可以很好地解决这个问题!感谢和抱歉迟到的回复。祝你有美好的一天!
【解决方案3】:

我建议您避免使用 pip 在系统范围内安装第三方 Python 库,这将依赖于您的系统 Python。您也确实不想避免手动升级/降级您的系统 Python。

我更喜欢使用Conda 来安装TensorFlow。 Instructions 在 Linux 上安装 Conda 非常简单。

安装 Conda 后,您可以使用单个命令安装 TensorFlow 1.15。

conda create --name tensorflow-15 \
    tensorflow-gpu=1.15 \
    cudatoolkit=10.1 \
    cudnn=7.6 \
    nccl=2.4 \ # only relevant if you have more than one GPU
    python=3.6 \
    pip=20.0 

我喜欢 Conda 的众多优点之一是它提供了一个工具来管理特定环境中的环境和包。与 Docker 等其他隔离软件环境的工具相比,它的学习曲线也更平缓。

如果您有兴趣了解有关 Conda 的更多信息,可以查看我正在开发的这些教材。

https://carpentries-incubator.github.io/introduction-to-conda-for-data-scientists/

【讨论】:

  • 尝试 tensorflow-gpu=1.15 而不是 tensorflow_gpu=1.15;包名的行进规则非常严格。
【解决方案4】:

尝试使用 Docker 或 conda 环境隔离您的依赖关系,我使用过:

conda create -n new_env  python=3.6 tensorflow-gpu=1.2.1 anaconda

并且工作正常:)

【讨论】:

    猜你喜欢
    • 2021-08-18
    • 2021-06-22
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2020-09-29
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多