Anaconda 安装 TensorFlow 1.15 而不是 2.0

Posted

技术标签:

【中文标题】Anaconda 安装 TensorFlow 1.15 而不是 2.0【英文标题】:Anaconda installs TensorFlow 1.15 instead of 2.0 【发布时间】:2020-03-15 13:31:54 【问题描述】:

我一直在尝试在 Anaconda 中安装 Tensorflow 2.0。

到目前为止,tensorflow 工作正常(我可以在我的代码中使用该库),但是当我安装它时,它显示“正在安装版本:2.0”,然后我得到了 1.15 版本。

整个包的结果是可更新的(因为版本 2.0 确实存在并且应该可用),但即使我尝试更新它,我也会不断得到 1.15,它又回到了可更新状态,然后我又回到了循环中。

我尝试了从 Anaconda Navigator 界面和使用 conda update tensorflow 的提示符,但没有任何成功。

这里有链接包:tensorflow 2.0 Anaconda

我该如何解决这个问题?

编辑:

我使用conda install -c anaconda tensorflow 成功安装了 TensorFlow 2.0。然后我回到 Anaconda Navigator 并尝试安装 Keras 2.2.4。

查看已安装的包,似乎安装 Keras 会用 1.15 覆盖 TensorFlow 的 2.0 版本,我错了吗?这是一个错误吗?

这是图片:

【问题讨论】:

虽然我迟到了,你会不会碰巧有环境的内容(使用conda list之类的东西)? 【参考方案1】:

另一种选择是安装TensorflowMiniconda

我只是在 windows 上使用了Miniconda3,我能够分别在不同的环境中安装多个版本的Tensorflow

示例 1

// create a new environment
conda create --name workflowone

// activate environment
conda activate workflowone

// Install desired package
conda install tensorflow=1.15

// deactivate environment
conda deactivate

示例 2

// create a new environment
conda create --name workflowtwo

// activate environment
conda activate workflowtwo

// Install desired package
conda install tensorflow  // If you do not specify the version, you will download the latest version of Tensorflow

// deactivate environment
conda deactivate

【讨论】:

对于gpu版本,使用conda install tensorflow-gpu=1.15【参考方案2】:

conda install -c anaconda tensorflow-gpu

conda install -c anaconda tensorflow

寻找这些:


提示:在安装之前,在您的 Anaconda 环境中完全粉碎任何带有名称子字符串“keras”和“tensorflow”的文件 - 否则东西可能会损坏。

    导航到您的site-packages 搜索**keras** --> 删除所有结果 搜索**tensorflow** --> 删除所有结果

从环境的根文件夹(例如envs/tf2_env)上面应该可以更好地工作——这个想法是,Anaconda 缓存它已经安装的任何东西,所以如果它没有被完全删除,你可能会遇到获取最新版本的包的麻烦.


相关问题在 cmets 中的回答

    为什么当我尝试安装 Keras 2.2.4 时 conda 将 TF 2 还原为 TF 1.15.0?

    TF2 仅与 Keras 2.2.5+ 兼容,因此 conda 负责兼容性

    为什么某些from keras 导入不再起作用而需要from tensorflow.keras

    from kerasfrom tensorflow.keras 在实现方面非常不同。 from keras 是后端中立的,而 tf.keras 与 TF 更紧密地集成在一起。也可以是significant performance differences。 TF2 及以后,tf.keras 更可取,开发将沿着它进行,如 F. Chollet 所述 还要提防tf.python.keras

【讨论】:

我必须同时安装 tensorflow 和 tensorflow-gpu 还是一个就足够了?如果我从 anaconda 导航器中删除已经安装的软件包,或者我必须手动删除文件(使用资源管理器),可以吗? @MattiaSurricchio Explorer 是最好的选择 - 只有 一个 就足够了 无论如何我更新了问题,似乎在安装软件包时可能存在错误。似乎keras覆盖了tensorflow版本 @MattiaSurricchio 不是错误; TF2 仅与 Keras 2.2.5+ 兼容,因此 conda 在这里负责兼容性 也许我遗漏了一些东西,Keras 现在是否嵌入到了 TensorFlow 包中?我已经正确安装它并且它可以工作,但我必须重写我的导入,例如from tensorflow.keras import Sequential,而在我只使用from keras import Sequential之前。这让我觉得现在 Keras 附带了 TensorFlow 2.0,我不需要将它作为单独的包安装,我错了吗?【参考方案3】:

就我而言,这解决了问题:

pip3 install tensorflow==2.0.0a0

甚至:

pip3 install tensorflow --upgrade

【讨论】:

我避免使用 pip,因为我读到如果与 anaconda 匹配可能会导致一些“兼容性”问题。是否可以“留在”anaconda 框架内? OP 明确要求提供 conda 解决方案。 Mattia 我建议你不要混合 conda 和 pip,特别是如果你要在生产中使用 env。最终你可以从 pip 构建一个 conda 包【参考方案4】:

本周我一直在努力解决这个问题,并找到了一个简单的解决方案: 转到 Anaconda Navigator(确保您拥有最新更新),单击“环境”并从下拉菜单中选择“未安装”。在搜索字段中输入“tensorflow”。单击“tensorflow”复选框,但不单击“keras”复选框。单击“应用”,它将安装 2.0 以及 keras。那么你所要做的就是使用它们:

将张量流导入为 tf

从张量流导入 keras

如果您之前安装了非预期版本,请先将其全部删除,然后再执行上述操作。

【讨论】:

【参考方案5】:

解决了

$ conda update --prefix # first step
$ conda 4.8.2  # lates Anaconda

打开Anaconda --> 创建环境--> 选择python V3.6 --> 搜索/选择 TensorFlow 2.0 == Anaconda 将升级依赖项

这个新环境中的最新 Jupyter

$ jupyter --version # latest jupyter notebook version created with pyton 3.6
jupyter core     : 4.6.1
jupyter-notebook : 6.0.0

【讨论】:

【参考方案6】:

感谢@OverLordGoldDragon 的提示。

他的回答总结是:

1) 不要更新(将失败并显示神秘的错误消息)

2) 卸载与 Anaconda 捆绑的 tensorflow 1.15

conda remove tensorflow

3) 重新安装 tensorflow(现在默认为 2.0)。

conda install tensorflow

非常适合我。谢谢!

【讨论】:

以上是关于Anaconda 安装 TensorFlow 1.15 而不是 2.0的主要内容,如果未能解决你的问题,请参考以下文章

Win10 安装 Anaconda3 用 Anaconda3 安装TensorFlow 1.2 (只支持python3.5)

Windows解决anaconda下双python版本安装TensorFlow

Anaconda 安装 TensorFlow 1.15 而不是 2.0

TensorFlow安装及实例-(Ubuntu16.04.1 & Anaconda3)

Ubuntu16.04下安装tensorflow(Anaconda3+pycharm+tensorflow+CPU)

安装anaconda3和tensorflow