Anaconda+VSCode配置tensorflow开发环境的教程详解


Posted in Python onMarch 30, 2020

1. Anaconda

1.1 Anaconda简介

Anaconda是一个开源的python发行版本,是现在比较流行的python数据科学平台,可以对python的科学包做到有效管理。在配置python开发环境时,比如爬虫环境、数据分析环境、深度学习开发环境(tensorflow)等,会需要安装很多科学包。如果遇到什么包就报出“No module named”的错误,然后“pip install”未免太过麻烦。而且很多开发环境支持的python版本不同,混在一起的兼容性也很麻烦,Anaconda又维护了若干个虚拟开发环境来把我们常用的开发环境区分开,还有可视化界面管理起来十分方便。

1.2 Anaconda下载

Anaconda的官方下载地址如下:

https://www.anaconda.com/

点进去之后来到下载界面

Anaconda+VSCode配置tensorflow开发环境的教程详解

三个图标提供三个平台的下载地址:Windows、macOS、Linux

Anaconda+VSCode配置tensorflow开发环境的教程详解

Anaconda提供两个最高版本的python下载,还有64位和32位可选。我用的是python3.7 64位的。

Anaconda+VSCode配置tensorflow开发环境的教程详解

下载好之后是这样的

Anaconda+VSCode配置tensorflow开发环境的教程详解

1.3 Anaconda安装

我只能说,Anaconda的用户体验过于优秀,安装时没什么大坑(不像其它环境配置的过程中那个坑啊(ˉ?ˉ;)…),所以既然我都安装完成了,就不按步骤上图了。只说几个注意的地方。

经过Next和I Agree之后,来到第一个抉择的地方,这块问题不大,按照recommend的Just me就行,如果需要能够给这台主机的其他用户使用,就选用all users。

Anaconda+VSCode配置tensorflow开发环境的教程详解

然后选择安装路径,以前我是安到C盘的,这回改安D盘了(笔者的笔电是256的固态,C盘容量太小了~~>_<~~),到后期配置一些环境还要安装科学包,使用需求大的一定要注意自己的磁盘空间,后来膨胀到5G以上都是可能的。

Anaconda+VSCode配置tensorflow开发环境的教程详解

安装前的最后一步是一切其它选项。

Add Anaconda to my PATH environment variable是一种不建议采取的选项。就是把Anaconda添加到PATH环境变量中,这个的后果我不太清楚,但可能对其他的一些命令产生冲突?建议的Anaconda使用方式是在开始菜单中(start menu)中用Anaconda Prompt来启动。

Register Anaconda as my default Python 3.7是把Anaconda的默认环境下的python设置为系统的默认python。这点我也不太懂,不过如果选择这个的话,在后来的Anaconda虚拟环境管理中,就不要随意向默认环境(base)添加科学包了。

Anaconda+VSCode配置tensorflow开发环境的教程详解

Anaconda+VSCode配置tensorflow开发环境的教程详解

接下来就是install了,这个过程大概需要十分到二十几分钟?(来局王者吧_(:з)∠)_)

然后出现什么我记不清了。。好像有个什么跟Anaconda的联机支持有关的东西,其他博客上写的是Anaconda云和Anaconda支持。这个不用管它。

再后来,结束之前会让你安装一个VSCode。这个稍后会介绍,如果你选择安装的话,VSCode是会安装到C盘中的。

到此应该就结束了。

2. 在Anaconda下配置tensorflow

2.1 关于Anaconda Navigator

Anaconda Navigator在安装Anaconda后就已经安好了,启动方式是开始菜单(start menu)中找到Anaconda文件夹中的Anaconda Navigator,运行它。

Anaconda+VSCode配置tensorflow开发环境的教程详解Anaconda+VSCode配置tensorflow开发环境的教程详解

Anaconda Navigator是Anaconda中的一个桌面图形用户界面,界面设计的对用户比较友好,可以免去我们在命令行程序中狂敲键盘安装科学包的烦恼,科学包搜索、鼠标一点、大功告成。跟本篇博客介绍的有关的,是左栏中的environment菜单,这里可以管理不同的虚拟开发环境,对环境中的科学包也都有可视化的管理,就像一个小仓库。base(root)虚拟环境是Anaconda的默认环境。

Anaconda+VSCode配置tensorflow开发环境的教程详解

2.2 tensorflow环境配置

Anaconda下的tensorflow配置有很多种方式,不过我觉得从Anaconda navigator来配置还是最舒服的。

首先先来新建一个tensorflow虚拟工作环境(上来就放base环境里可不是什么好习惯( ̄? ̄)")。

点击create,并输入环境名称和python版本还有R版本(如果需要的话)。

请注意,如果是创建tensorflow工作环境,请选择python3.5或python3.6,不要选择python3.7,目前的tensorflow不支持python3.7.R版本可以忽略。

Anaconda+VSCode配置tensorflow开发环境的教程详解

创建好tensorflow环境之后(笔者的tensorflow环境名字就叫tensorflow。。)可以看到tensorflow工作环境中有若干科学包,这都是创建环境之自动加入的一些默认包。

Anaconda+VSCode配置tensorflow开发环境的教程详解

然后,点击tensorflow工作环境右侧的小箭头,并点击open terminal(这截不上图了),进入到Anaconda的tensorflow工作环境终端。或者,你也可以从之前说过的Anaconda prompt中,输入命令activate XX(工作环境名) 来进入tensorflow工作环境。

Anaconda+VSCode配置tensorflow开发环境的教程详解

在终端中,输入命令pip install tensorflow,如果需要安装keras开发的话,还可以继续输入pip install keras。这两句命令一定是要在前面有(tensorflow)的命令行下输入的,这样才是在tensorflow虚拟环境下配置 之后这个Anaconda下的tensorflow就配置好了。

我比较不能理解的是为什么这种配置方法,在Anaconda navigator中的tensorflow环境下,看不到相关的科学包?!!(⊙ˍ⊙)?

再说一个Anaconda下安装科学包的小贴士。如果需要安装某个特定的科学包,还可以在Anaconda navigator的environment中的这个搜索栏中搜索,记得选择not installed或all,installed意思是搜索这个已安装的包(还没安装呢啊喂)。

Anaconda+VSCode配置tensorflow开发环境的教程详解

对环境中的科学包的具体操作,可以点选科学包左侧的小方框,如果是已安装的,方框有绿勾,否则就是空白。

其它有关environment的操作在这个界面中都有很明确的体现,所以我说这个东西还是挺友好的。。Anaconda navigator就介绍到这了,如果我还会其他的就再补充。。

2.3 tensorflow配置结果测试

在tensorflow环境的终端中测试如下:

Anaconda+VSCode配置tensorflow开发环境的教程详解

3.VSCode的配置

说实话,笔者在写这篇配置教程时,是第一次接触VSCode(打人别打脸_(:з)∠)_)。。作为某高校的大二CS学生,接触过的IDE用过稚嫩的codeblocks写C,用netbeans写Java,接触过一点eclipse因为不会用放弃了。。为了追求高B格用pycharm写python,还用过一本教程中介绍的jupyter notebook来写tensorflow和keras,我那弱不禁风的D盘中,工程文件夹狼藉一片,每次接触一个新的IDE都头疼,自己的文件管理的乱七八糟。不过!!!今天我认识了VSCode!这一款轻量、高颜值、多功能、人性化、多插件、内置Git(这我还真不懂)的微软baba的IDE!

嗯~ o( ̄? ̄)o下面介绍配置VSCode,来实现用VSCode写tensorflow。

我已经不记得刚进入vscode时是什么样子了…尽量还原的话,,大概是欢迎使用吧,最开始是英文版的。

Anaconda+VSCode配置tensorflow开发环境的教程详解

3.1 VSCode汉化

首先在工具栏-查看-命令面板中,或CTRL+shift+P,调出命令面板,并在其中找到Configure Display Language

Anaconda+VSCode配置tensorflow开发环境的教程详解

然后,在出现的配置文件中,把这个选项改成zh-CN,这块改的时候有提示信息的,还可以改成其他语言。

Anaconda+VSCode配置tensorflow开发环境的教程详解

修改好保存,之后重启IDE,然鹅并没有如期的汉化成功,这是因为需要一个汉化插件,这里就不得不提我们VScode强大的插件功能了!!!像netbeans也有插件,不过vscode的插件管理也是非常好的!

在左侧仅有5个图标功能的栏中选择最后一个——扩展,然后搜索Chinese,得到如下插件。安装(install)简体汉化的那个就好了。

Anaconda+VSCode配置tensorflow开发环境的教程详解

再次重启,就应该跟我一样是汉化界面了。。用过其它IDE的小伙伴应该都知道,每次新接触一个IDE都要为英文界面头疼,而汉化又要上网上找一些汉化包补丁什么的,VScode的汉化真的是挺方便的。

3.2 VSCode的Hello World

”Hello World“应该作为每个程序员在第一次使用IDE写程序时的神圣的测试样例!以希望今后给bug(不归)之路上的自己带来好运。IDE编写程序一般都需要创建一个工程,application或是project神马的。在VSCode中,工程的概念就是文件夹。没错,就是文件夹,“新建文件夹”的那个文件夹。。为了便于管理,创建一个用来存放VSCode工程的文件夹,这个文件夹内,再新建一个所谓的”工程“文件夹,名字自拟。

Anaconda+VSCode配置tensorflow开发环境的教程详解

然后在VSCode中,打开这个文件夹,并在这个路径下,新建一个文件,比如说tfexercise.py,这是一个python文件。打开文件夹的快捷键是CTRL+K,接着CTRL+O。

Anaconda+VSCode配置tensorflow开发环境的教程详解

然后就可以编写.py文件了,运行的话,是左边的第四个图标,快捷键是F5编译运行。编译运行之前确保选择好编译器,下一小节提到。

Anaconda+VSCode配置tensorflow开发环境的教程详解

至于hello world这种简单的程序,用默认的编译器就可以。试试吧!

Anaconda+VSCode配置tensorflow开发环境的教程详解

这里还有一个小贴士。在左上角调试边上有一栏可选项,其他的我不懂,第一个是current file(integrated terminal),就是输出终端是综合终端,是VSCode的标准配置,可以在IDE的终端窗口中查看输出。最后一个是current file(external terminal),这说的是输出终端是外部终端,要弹出一个外部终端窗口中查看输出。凭个人习惯来选吧,其他的选项,我不知道是做啥的。。。

Anaconda+VSCode配置tensorflow开发环境的教程详解

3.3 VSCode配置Anaconda环境

现在我们要选择编译器了,这样才能让VSCode顺利编译运行。由于我们的VSCode是通过Anaconda打包安装的,所以Anaconda的虚拟环境也是直接放到VScode的选项里了。在左下角的这里点击,就可以在上面看到虚拟环境列表,选择你需要的虚拟环境用来开发。

Anaconda+VSCode配置tensorflow开发环境的教程详解

这块好像没什么好说的,选择完事之后就差不多可以写程序了。不过坑还是有的,,我就说一些我踩的坑((:з)∠)

我在选择tensorflow环境前就运行了一个tensorflow写的程序,当然过不了了,改完编译环境后,还是不通过。就是这里一直都是base,说明我一直都是base环境下运行的程序,后来把这里的那个当前命令终端窗口关掉了,在是(tensorflow)的那个终端里跑就好了。我觉得是这样?

Anaconda+VSCode配置tensorflow开发环境的教程详解

你看这个终端窗口里,就没进入到Anaconda里面去。

Anaconda+VSCode配置tensorflow开发环境的教程详解

然后这是一次tensorflow程序的成功运行。

Anaconda+VSCode配置tensorflow开发环境的教程详解

另外终端窗口里的命令行也是可以输入执行命令的!

Anaconda+VSCode配置tensorflow开发环境的教程详解

然后在运行的过程中,还会遇到缺少pylint的问题,这个按照提示安装就好了,如果还不行,试试知乎上的回答?https://www.zhihu.com/question/53938825

到这里和本文标题相关的事情就告一段落了吧~ 谢谢大家~

4. 参考文献

几个可能有用的链接。

[1]: https://code.visualstudio.com/

[2]: https://docs.anaconda.com/anaconda/navigator/

[3]: http://www.cognitivecoder.com/2017/12/28/setting-the-python-anaconda-environment-in-vs-code/

[4]: https://code.visualstudio.com/docs/getstarted/userinterface

[5]: 《TensorFlow+Keras深度学习人工智能实践应用》,林大贵。

[6]: 《TensorFlow:实战Google深度学习框架》,郑泽宇,梁博文,顾思宇。

[7]: https://www.anaconda.com/blog/developer-blog/tensorflow-in-anaconda/

总结

到此这篇关于Anaconda+VSCode配置tensorflow开发环境的文章就介绍到这了,更多相关anaconda VSCode配置tensorflow环境内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python求列表交集的方法汇总
Nov 10 Python
Python+MongoDB自增键值的简单实现
Nov 04 Python
django1.8使用表单上传文件的实现方法
Nov 04 Python
Python命令启动Web服务器实例详解
Feb 23 Python
django实现用户登陆功能详解
Dec 11 Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
关于python中plt.hist参数的使用详解
Nov 28 Python
python类中super() 的使用解析
Dec 19 Python
详解Python模块化编程与装饰器
Jan 16 Python
Python中的流程控制详解
Feb 18 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 #Python
Python Tornado之跨域请求与Options请求方式
Mar 28 #Python
关于python 跨域处理方式详解
Mar 28 #Python
对python中各个response的使用说明
Mar 28 #Python
基于Django signals 信号作用及用法详解
Mar 28 #Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 #Python
Django 实现对已存在的model进行更改
Mar 28 #Python
You might like
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
详解Angular如何正确的操作DOM
2018/07/06 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
layui实现数据分页功能
2019/07/27 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
python实现网页自动签到功能
2019/01/21 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
LINUX下线程,GDI类的解释
2012/04/17 面试题
25岁生日感言
2014/01/13 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
英语辞职信范文
2015/02/28 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
我收到了德劲DE1107
2022/04/05 无线电