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 相关文章推荐
PyTorch上实现卷积神经网络CNN的方法
Apr 28 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
python实现人像动漫化的示例代码
May 17 Python
Python常见反爬虫机制解决方案
Jun 01 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
详解Python中的路径问题
Sep 02 Python
python实现canny边缘检测
Sep 14 Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 Python
Python list和str互转的实现示例
Nov 16 Python
基于python的opencv图像处理实现对斑马线的检测示例
Nov 29 Python
python excel多行合并的方法
Dec 09 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
php将数据库导出成excel的方法
2010/05/07 PHP
解析PHP中$_FILES的使用以及注意事项
2013/07/05 PHP
php jsonp单引号转义
2014/11/23 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
php微信开发之百度天气预报
2016/11/18 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
JS 进度条效果实现代码整理
2011/05/21 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
JavaScript 异步时序问题
2020/11/20 Javascript
python中实现指定时间调用函数示例代码
2017/09/08 Python
深入学习python多线程与GIL
2019/08/26 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
是否有自动比较结构的方法
2015/06/03 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
优秀体育委员自荐书
2014/01/31 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
毕业实习感受与体会
2015/05/26 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL