接触python也有将近3年的时间了,我从来都不是一个很擅长去编程的人,也可能是在教学式的环境里面难以有很实践性质的功底吧,python这个语言是零基础学然后一路摸爬滚打,很多声音都说它很简单,但是我想说的是:任何事都是入门简单,精通难。这么长的一段时间里我经常会发现越学新的东西反而越多,越进步反而觉得前面的台阶越看不到尽头,可能这还是说明目前的我还是处于一个比较初级的学习阶段吧。
对于新的东西我经常会有很强烈的兴趣去学习,然后去实践,哪怕没有时间去多学习内在的东西,我要简单实践一番,做一个记录,往往后面有空的时候后头去看的时候这个节点还是有机会重新捡起来的。这个可能也是自己博客这么久以来的一个真实的写照吧。
今天不是来说自己这些事情的,但是还是说了这么多,最主要的原因是跟今天要讲的事情有关系,做编程开发,代码编辑器是必不可少的,最开始的时候我们一般是使用EditPlus、NotePad++、Atom、Vim、Sublime等等诸如此类的纯文本编辑器来进行代码开发的,之后会使用Pycharm、eclipse等等诸如此类的IDE工具环境来进行更加便利的开发。但是上面两种类型的开发工具都是基于文本形式的开发,在编程过程中是几乎没有交互、展示、运行的概念的。
jupyter-notebook的出现弥补了这个缺陷,它是一个web形式的编程环境,可以交互式地执行每一行代码,输出结果的数据,辅助数据分析、数据挖掘等人员快速地进行自己的工作。讲真的,这个神器我很早就接触了,研一的时候就安装了相应的环境,也简单地使用过,但是在我自己使用的时候觉得是有问题的,当时我并不是主要从事于数据分析相关的工作,所以这个工具对我的帮助也就没有那么明显,而且jupyter的脚本是以json形式存储的,可读性很低,自己编写的模块没有办法被其他的项目导入使用,这就带来了很大的障碍,所以就一度搁置了。现在重新捡起来的原因一方面是因为自己现阶段的主要工作就是数据分析、数据挖掘、机器学习和深度学习相关的,所以这个工具就有了很大的用武之地了;另一方面是因为能够解决我上面所说的模块无法导入缺陷的问题已经有了比较好的解决方案了,所以我觉得是时候该把jupyter这个神器捡起来重新学习了。
好了,上面一顿说,讲了这么多的内因,接下来就回归正题吧:
在安装好了python环境的基础上,安装jupyter是很简单的,只需要执行下面的命令:
pip install jupyter
之后安装过程就会自动进行了。
安装结束之后,在命令行输入:jupyt-notebook 就可以启动了,比如我这里启动后浏览器的截图是这样的:
上面有一些我简单实践的脚本。
接下来就有一个问题了,我本地会有python27和python36版本,但是启动这个编程环境后默认的kernel是python3的,如下:
这样如果想要使用python27的编程环境的话肯定就是不行的了,接下来就要加入对2的兼容。
首先,执行下述命令查看目前已有的核清单:
jupyter kernelspec list
我的结果如下:
之后执行安装核命令:
ipython kernel install --name python27
上面的命令是安装一个python2版本的核名称为Python27,执行上面的命令之后,显示安装结束,目录在这里:
C:\ProgramData\jupyter\kernels\python27
不太知道别人的操作情况是怎样的,我这里是没有成功的,虽然说对应目录里面的文件都已经创建了,但是实质上用的还是python3.exe,应该是因为我安装的时候ipython默认调用的是python36的版本吧,所以安装不了2的核。
既然命令行形式安装不了,我就直接尝试一下手工修改吧,原始kernel.json内容如下:
{"argv": ["f:\\python36\\python36.exe","-m","ipykernel_launcher","-f","{connection_file}"],"display_name": "python36","language": "python"}
把kernel.json里面的内容修改如下:
{"argv": ["f:\\python27\\python27.exe","-m","ipykernel_launcher","-f","{connection_file}"],"display_name": "python27","language": "python"}
其中:
argv:表示的是本地python安装的路径
display_name:表示自己自定义的核的名称
这样就完成了python27核的安装和增加,为了便于区分,我对python36同样进行上面的操作,之后刷新,可以看到核如下:
完美添加两个版本的核,上面的核中python3和python36其实是同一个,前者是系统默认的,后者是我自己添加的。使用了自己自定义的名称来方便地区分。
到这里,我们已经完成了两个版本的kernel安装和配置就可以进行使用了,下面简单进行测试来检验一下是否真的是可以如我们想象的一般正常工作了。
首先,我们选中python36核,构建下面的脚本:
可以看出:python36核正常工作了,接下来选中python27核,如下:
可以看到:python27核也正常工作了。
到此我们的jupyter环境配置就完成了,记录学习了,有需要可以按照上面的过程实践一下,亲测可行!
交互式编程神器jupyter notebook环境搭建【不需要虚拟环境就能实现python2版本和python3版本自由切换】