Python 导入tensorflow可以在jupyter笔记本中工作,但不能从命令行中工作。使用conda安装tensorflow和jupyter笔记本
我正在Jupyter笔记本中运行python脚本,它运行得很好。我将笔记本转换为python文件,当我试图从终端运行它时,我得到一个错误消息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' 我有限的理解
>>> 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
,因此可以通过以下方法解决问题:
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