**目的:**在已安装anaconda的前提下,安装TensorFlow
**安装基础:**Windows环境、anaconda2(64位)
说明:因为在安装tensorflow的过程中出现了很多的问题,在网上搜了很多的方法,却大多数都失败了,几经波折才最终安装成功,因此把整个安装过程整理出来供大家参考,也是给自己留个备份。所有参考链接也附在了下面,感谢这些大神们的教程~
安装过程:
(参考:添加链接描述)
(1)查看环境。打开Anaconda Prompt,输入:conda info --envs,查看已经安装了的环境,在没安装TensorFlow前,此处应该没有TensorFlow环境
(2)查看python可安装版本。输入:conda search --full-name python,检查目前有哪些版本的python可以安装。我之前试过2.7、3.8版本,都出了错,后来在网上搜了下,发现Windows系统建议安装3.5版,链接里的博主也安装的3.5,我尝试之后发现3.5版本没有报错
(3)安装python。输入:conda create --name tensorflow pythnotallow=3.5,此处跟你电脑上已经有的python版本没有关系,只是为TensorFlow服务的。例如我的电脑上因为安装anaconda,所以自动带了2.7版本的Python,后期还稀里糊涂地装了3.8版本,但是这里并没有影响
(4)激活环境。输入:activate tensorflow,进入TensorFlow环境,激活成功后,会发现新的一行命令已经从base变为了tensorflow,此时再查看环境,就会显示有TensorFlow了
(5)查看已安装python版本。进入TensorFlow环境后,输入:python --version,查看该环境下的版本,就是我们上面安装的3.5版本
(6)安装TensorFlow。上面只是配置了环境,接下来是安装真正的TensorFlow。输入:activate tensorflow,进入环境,再输入:conda search --full-name tensorflow,出现可安装的所有TensorFlow版本,对应已安装的python版本查看Bulid一栏,带有py35的就是python3.5可以选择的版本,建议尽量选择低点的。链接里博主是推荐的1.1和1.2的,但是我试了下发现都不行,因为现在这两个版本已经没有了(图里也没有给出来这两个版本),因此对照build一栏的提示后,我选择了1.9.0。输入:pip install tensorflow==1.9.0
(7)检查。输入:import tensorflow as tf,检查是否安装成功。发生了错误。
尝试在tensorflow环境下输入:Spyder,进入编译器(此时发现左上角显示Python版本不是3.5,就已经说明有问题了),在IPython Consloe中输入:import tensorflow as tf,显示:“ModuleNotFoundError: No module named ‘tensorflow’”,说明没有安装成功
又尝试进入Anaconda Navigator,选择tensorflow环境,想安装Spyder,发现安装不上。此时发现虽然所有程序里显示有Spyder(tensorflow),点击却没有反应。
解决问题:
(参考:添加链接描述)
在Anaconda Prompt中输入:activate tensorflow,激活tensorflow环境,再输入:conda install spyder,安装tensorflow下的spyder。
安装完成后,有三种进入Spyder的方法。
① Anaconda Prompt中输入:activate tensorflow,再输入:spyder
② 启动anaconda navigator,环境选择tensorflow,再回到home,点击Spyder下的Launch
③ 直接通过“D:\Program\Anaconda3\envs\tensorflow\Scripts”进入Anaconda3中tensorFlow环境,找到“spyder.exe”进入Spyder
(8)重新验证。按上述方法打开Spyder(此时左上角的python版本成功变为3.5),
在IPython Consloe中输入import tensorflow as tf,出现错误:
D:\Anacoda\Anaconda\envs\xx\lib\site-packages\tensorflow\python\framework\dtypes.py:523: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
D:\Anacoda\Anaconda\envs\xx\lib\site-packages\tensorflow\python\framework\dtypes.py:524: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
D:\Anacoda\Anaconda\envs\xx\lib\site-packages\tensorflow\python\framework\dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
D:\Anacoda\Anaconda\envs\xx\lib\site-packages\tensorflow\python\framework\dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
D:\Anacoda\Anaconda\envs\xx\lib\site-packages\tensorflow\python\framework\dtypes.py:527: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
D:\Anacoda\Anaconda\envs\xx\lib\site-packages\tensorflow\python\framework\dtypes.py:532: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
在网上找了找错误原因,最终找到了答案是由于numpy版本过高(高于1.17)
解决方法:(参考:添加链接描述)
① Win+R打开面板,输入cmd
② 输入:activate tensorflow
③ 输入:pip install numpy==1.16.0
安装结束后,进入Spyder,在IPython Consloe中输入import tensorflow as tf,出现以下界面:
安装成功。