import tensorflow 在 jupyter 笔记本中工作,但不能从命令行工作。使用conda安装tensorflow和jupyter笔记本

bee*_*mer 5 python ubuntu conda tensorflow

我正在 Jupyter 笔记本中运行 python 脚本,它工作正常。我将笔记本转换为 python 文件,当我尝试从终端运行它时,出现错误

>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'tensorflow'
Run Code Online (Sandbox Code Playgroud)

我已经在conda环境中使用conda安装了tensorflow和jupyter笔记本。我使用的是 Ubuntu 18.04。我正在尝试从环境中运行 python 脚本。当我which python给出以下输出时

/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

我有限的理解是,这可能会发生,因为脚本在基本Python上运行,而tensorflow指向基本Python无法访问的anaconda安装。如何从终端运行脚本?

小智 1

看起来终端上的脚本正在使用与 Jupyter Notebook 中执行的 Python 版本不同的 Python 版本执行。由于conda正在使用,可以通过以下方法解决该问题:

  1. 如果使用虚拟环境来运行Jupyter Notebook,您可以conda activate <name>在终端上激活虚拟环境,然后运行python代码。
[usr@usr]#conda activate myenv
(myenv)[usr@usr]#
Run Code Online (Sandbox Code Playgroud)
  1. 如果没有使用虚拟环境,可以使用以下命令将默认的 conda python 加载到变量PATHconda activate
[usr@usr]#conda activate
(base)[usr@usr]#
Run Code Online (Sandbox Code Playgroud)

在步骤 1 和 2 中,我们可以使用conda list命令验证该环境中是否安装了 TensorFlow。

或者,我们可以检查Jupyter Notebook 使用的 python并在终端中运行指向相同 python 的脚本。

希望这可以帮助。

  • 我认为如果我遵循下面问题中的最佳解决方案,它可以解决我的问题 /sf/ask/3810044731/ -默认 (2认同)