无法在 Jupyter Notebook 中导入 TensorFlow

Posted

技术标签:

【中文标题】无法在 Jupyter Notebook 中导入 TensorFlow【英文标题】:Not able to import Tensorflow in Jupyter Notebook 【发布时间】:2020-11-06 09:37:04 【问题描述】:

我正在尝试在 conda 环境中将 Tensorflow 模块导入我的 Jupyter 笔记本中,但出现以下错误:

AttributeError: type object 'h5py.h5.H5PYConfig' has no attribute '__reduce_cython__'

但是,如果我打开 Anaconda Prompt,激活相同的环境并在 shell 中导入 tensorflow,它确实可以工作。

版本:

tensorflow-gpu: 2.2 h5py: 2.10

我尝试降级到不同的版本(h5py 2.7tf-gpu 2.1),但这会导致更多的软件包版本冲突错误。

有谁知道为什么 Jupyter 不加载模块以及为什么它在 Anaconda shell 中工作?

谢谢

【问题讨论】:

【参考方案1】:

您的 jupyter notebook 可能正在基础环境中运行。如果 jupyter notebook 安装在 base 中而不是您当前的 env 中,则可能会发生这种情况。

使用anaconda-navigator 打开 Anaconda Navigator,导航到 Environments 并激活您的 env,导航到 Home 并安装 jupyter notebook,然后从导航器中午餐 jupyter notebook。

第一次这样做之后,你可以这样做:

source activate your_env
jupyter-notebook

下一次。

您也可以使用命令检查在 jupyter 中运行的 python:

!哪个蟒蛇

【讨论】:

谢谢!通过导航器它工作。仍然通过终端(激活环境后)它不是。有点混乱。 它可能仍在基础环境中运行,我建议在基础环境中使用pip uninstall jupyter-notebook,并将其仅保留在您的工作环境中。

以上是关于无法在 Jupyter Notebook 中导入 TensorFlow的主要内容,如果未能解决你的问题,请参考以下文章

在 Jupyter Notebook 中导入 numpy 时出现问题

在 Jupyter notebook 中导入本地模块

scikit-learn 没有在 jupyter notebook 中导入

为什么我不能在我的Jupyter Notebook(Python 3.6)中导入utils,尽管它已经安装了?

如何:在支持 GPU 的 Conda 中导入 Jupyter Notebook 中的 TensorFlow?

在 ipython/Jupyter notebook 中导入 scikit-learn