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

Python 导入tensorflow可以在jupyter笔记本中工作,但不能从命令行中工作。使用conda安装tensorflow和jupyter笔记本,python,tensorflow,ubuntu,conda,Python,Tensorflow,Ubuntu,Conda,我正在Jupyter笔记本中运行python脚本,它运行得很好。我将笔记本转换为python文件,当我试图从终端运行它时,我得到一个错误消息 >>> import tensorflow as tf Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'tensorflow' 我有限的理解

我正在Jupyter笔记本中运行python脚本,它运行得很好。我将笔记本转换为python文件,当我试图从终端运行它时,我得到一个错误消息

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

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

看起来终端上的脚本是用python版本执行的,与Jupyter笔记本中执行的版本不同。由于使用了
conda
,因此可以通过以下方法解决问题:

  • 如果正在使用虚拟环境运行Jupyter笔记本,则可以在终端上使用
    conda activate
    激活虚拟环境,然后运行python代码
  • [usr@usr]#康达激活myenv
    (myenv)[usr@usr]#
    
  • 如果未使用虚拟环境,则可以使用
    conda activate
    将默认的conda python加载到
    PATH
    变量中
  • [usr@usr]#康达激活
    (基数)[usr@usr]#
    
    在步骤1和2中,我们可以使用
    conda list
    命令验证tensorflow是否安装在该环境中

    或者,我们可以在终端中检查并运行指向同一python的脚本


    希望这有帮助。

    已经尝试过方法1。我试图在启动jupyter笔记本的虚拟环境中运行python脚本。从虚拟环境终端
    ,python
    显示
    /usr/bin/python
    ,而从jupyter笔记本显示
    /home/thomas/anaconda3/envs/tf1p14/bin/python
    。当然,正如您所建议的,如果我指向anaconda3环境python并运行脚本,它工作得很好。
    PATH
    变量在激活conda环境时是否会更改?在我的机器中,当我激活
    myenv
    时,
    /path/to/anaconda3/envs/myenv/bin:/path/to/anaconda3/condabin
    被添加到
    path
    。我想如果我遵循下面问题中的最高解决方案,我的问题就解决了
    /usr/bin/python