使用Anaconda环境时Jupyter无法找到Tensorflow的问题求助
我刚花了好几个小时啃完Jupyter找不到TensorFlow的坑,跟你遇到的状况完全对上——弹出“Tensorflow module not found”和“Pip installing required packages”的提示,查了才发现TensorFlow根本不在默认的/home/jek/.local/python2.7/site-packages目录里。毕竟用Anaconda管理环境的话,每个环境都是完全独立的,默认环境和Jupyter调用的环境大概率不匹配,下面是我一步步解决的过程:
第一步:创建独立的Anaconda环境
先建一个专门的环境(我取名叫tf-env,你可以随便改),记得指定和TensorFlow版本兼容的Python版本(比如Python 3.8适配大部分TensorFlow 2.x版本):conda create -n tf-env python=3.8创建完激活这个环境:
conda activate tf-env第二步:在新环境里安装TensorFlow和Jupyter
一定要在激活的环境里操作!不然包又会装到默认的Python 2.7目录里去:
用pip安装的话:pip install tensorflow pip install jupyter偏好conda安装的话也可以:
conda install tensorflow jupyter第三步:让Jupyter识别这个新环境
这是最容易漏掉的关键一步!很多人装完环境就直接开Jupyter,结果还是用默认内核。在激活的tf-env环境里先装ipykernel:pip install ipykernel然后把这个环境添加到Jupyter的内核列表:
python -m ipykernel install --user --name tf-env --display-name "Python (tf-env)"第四步:验证是否解决问题
启动Jupyter:jupyter notebook新建Notebook的时候,选择刚才添加的
Python (tf-env)内核,然后运行测试代码:import tensorflow as tf print(tf.__version__)要是能正常输出版本号,就说明问题搞定了!
其实之前的核心问题就是Jupyter默认调用的是系统的Python 2.7环境,而你要么没把TensorFlow装对环境,要么装了但Jupyter没识别到。Anaconda的环境隔离虽然方便,但一定要确保TensorFlow和Jupyter在同一个环境里,不然就会出现模块找不到的尴尬情况。
内容的提问来源于stack exchange,提问作者Jack Hales

