问题来源
在学习吴恩达机器学习跑可选实验室时出现的问题,在运行
import tensorflow as tf
出现了
No module named ‘tensorflow'
刚开始以为是python和tensorflow以及keras的版本不对应(下表是各对应关系)
版本匹配清单
Framework Env name Description
TensorFlow 2.2 tensorflow-2.2 TensorFlow 2.2.0 + Keras 2.3.1 on Python 3.7.
TensorFlow 2.1 tensorflow-2.1 TensorFlow 2.1.0 + Keras 2.3.1 on Python 3.6.
TensorFlow 2.0 tensorflow-2.0 TensorFlow 2.0.0 + Keras 2.3.1 on Python 3.6.
TensorFlow 1.15 tensorflow-1.15 TensorFlow 1.15.0 + Keras 2.3.1 on Python 3.6.
TensorFlow 1.14 tensorflow-1.14 TensorFlow 1.14.0 + Keras 2.2.5 on Python 3.6.
TensorFlow 1.13 tensorflow-1.13 TensorFlow 1.13.0 + Keras 2.2.4 on Python 3.6.
TensorFlow 1.12 tensorflow-1.12 TensorFlow 1.12.0 + Keras 2.2.4 on Python 3.6.
tensorflow-1.12:py2 TensorFlow 1.12.0 + Keras 2.2.4 on Python 2.
TensorFlow 1.11 tensorflow-1.11 TensorFlow 1.11.0 + Keras 2.2.4 on Python 3.6.
tensorflow-1.11:py2 TensorFlow 1.11.0 + Keras 2.2.4 on Python 2.
TensorFlow 1.10 tensorflow-1.10 TensorFlow 1.10.0 + Keras 2.2.0 on Python 3.6.
tensorflow-1.10:py2 TensorFlow 1.10.0 + Keras 2.2.0 on Python 2.
TensorFlow 1.9 tensorflow-1.9 TensorFlow 1.9.0 + Keras 2.2.0 on Python 3.6.
tensorflow-1.9:py2 TensorFlow 1.9.0 + Keras 2.2.0 on Python 2.
TensorFlow 1.8 tensorflow-1.8 TensorFlow 1.8.0 + Keras 2.1.6 on Python 3.6.
tensorflow-1.8:py2 TensorFlow 1.8.0 + Keras 2.1.6 on Python 2.
TensorFlow 1.7 tensorflow-1.7 TensorFlow 1.7.0 + Keras 2.1.6 on Python 3.6.
tensorflow-1.7:py2 TensorFlow 1.7.0 + Keras 2.1.6 on Python 2.
TensorFlow 1.5 tensorflow-1.5 TensorFlow 1.5.0 + Keras 2.1.6 on Python 3.6.
tensorflow-1.5:py2 TensorFlow 1.5.0 + Keras 2.0.8 on Python 2.
TensorFlow 1.4 tensorflow-1.4 TensorFlow 1.4.0 + Keras 2.0.8 on Python 3.6.
tensorflow-1.4:py2 TensorFlow 1.4.0 + Keras 2.0.8 on Python 2.
TensorFlow 1.3 tensorflow-1.3 TensorFlow 1.3.0 + Keras 2.0.6 on Python 3.6.
tensorflow-1.3:py2 TensorFlow 1.3.0 + Keras 2.0.6 on Python 2.
但在修改了之后发现还是不行,在anaconda prompt中python和tensorflow都是正常的,但还是出现了
解决方法
最后发现使用的是系统自带的python,而我想使用的是自己创建的anaconda环境下的python,检查如下:
import sys
print(sys.executable)
打印
/usr/bin/python3
那要如何改变jupyter notebook使用的python环境。
查看jupyter的kernels:
jupyter kernelspec list
输出:
python3 C:\Users\19399\AppData\Roaming\jupyter\kernels\python3
若是第一次使用应该只有一项,如果添加了虚拟环境则也要加上
添加内核
python -m ipykernel install --user --name "环境名称" --display-name "想要命名的Python名称"
如,我的就是
python -m ipykernel install --user --name TF2.2 --display-name TF2.2_python
完成后可再次查看内核
jupyter kernelspec list
打开内核路径中的kernel.json文件:
{
"display_name": "Python 3",
"argv": [
"/usr/bin/python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"language": "python"
}
上面文件的第四行就是现在调用的python路径,现在调用的是系统自带的python,修改为自己需要的python环境的路径即可(即虚拟环境中的python路径)
切换内核
最后我们打开jupyter notebook,即可切换我们刚添加的内核
切换后即可运行成功