首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

来,开始使用Jupyter

最近正在B站看吴恩达的机器学习(Machine Learning)课程。看了6周课程后感觉受益匪浅,虽然是面向非数学专业的基础课程,但所涉及到的高等数学和线性代数讲得很容易理解。

说到机器学习,自然会涉及到对数据进行大量的计算,而python在这方面提供了非常丰富的资源。随着大量开源的代码贡献出来,如何快速使用别人造好的轮子,验证自己的数据,就需要一个方便的python环境,这个环境不仅是用于开发,更多的是便于测试算法、计算数据。

十分适合在学习python时使用,不用在终端中噼里啪啦地打命令,也不需要为了测试一个代码段而特意打开IDE编辑器编写脚本。直接在网页端进行代码编写并运行,数据可以方便地通过画出图形,同时还支持,使用非常方便。作为刚开始了解python的入门者,在折腾了一圈之后,在这里做个简单的使用说明。

安装说明

官网上强烈建议是安装Anaconda集成套件,因为已经集成了Jupyter,可以直接运行,但是我的环境没有安装Anaconda,所以采用最原始的安装方法。具体方法可见官网说明,其实很简单,就是最简单的pip安装命令:

需要注意的是,我使用pyenv来支持多版本的python,所以pip指向的是当前的python版本3.6.x,而没有安装pyenv的话,pip和pip3可能对应的分别是系统中的python2和python3。

建议使用python3时要注意,如果本机环境还需要用到Node.js,那么安装某些npm包时运行node-gyp会出错,因为gyp仅支持python2,这时候需要特别定义一下python的使用版本,运行下面的命令即可设置npm使用n你本地的python2

一切顺利的话,Jupyter已经安装完成,如果安装过程中有缺少某些模块的话,可能需要手工补上后再运行安装命令。

启动服务

在启动Jupyter的服务之前,先安装几个扩展包,便于配置和使用Jupyter。运行命令:

完成后运行命令:

会生成一个默认配置文件,打开这个文件去掉注释可以修改相应的参数。建议先把Jupyter的notebook存放路径修改掉。修改参数为自己定义的路径,默认为空,即是当前用户的目录。

运行命令,启动Jupyter服务,并自动打开浏览器访问,这是默认Jupyter服务的绑定端口,可以在配置文件中修改相应绑定IP地址和端口值。

配置服务

进入Jupyter服务首页后,可以看到当前的所在目录,如果有后缀的文件就是notebook的文件,可以直接打开,没有的话就点击右侧的按钮,创建一个新的python3 notebook。

在创建新的notebook之前,可以先看看tab页,这是前面安装了扩展包后出现的工具,点击后可以发现里面有很多有用的扩展,选择自己需要的启用即可,然后回到打开的notebook中刷新一下,就能使用。我列了一些个人觉得比较实用的扩展:

Codefolding

Runtools

Live Markdown Preview

Python Markdown

Export Embedded HTML

Snippets Menu

Snippets

Table of Contents (2)

其他还有更多的扩展根据每个人的需要选择使用

使用Jupyter

编写并运行代码

Jupyter Notebook的使用很简单,基本上按照工具条上的按钮和菜单尝试一下就了解了,这里简单介绍一些刚开始容易摸不着头脑的地方

如果你熟悉VIM的指令,在Notebook中的操作会很方便,简单来说按下进入命令行模式,再按下或双击鼠标进入编辑模式,在命令行模式下有相应的快捷键便于操作。但是搞不清除这些也无所谓,所有的操作都能够在菜单和工具条上找到,不会影响使用。

新增按钮创建出来的是一个“单元”,默认是,所以要想写需要切换一下,在工具条上可以很容易找到切换按钮。

在单元中所有输入的内容都是代码,都是要通过运行才能得到结果,而每个单元都可以单独运行,默认是运行当前块并把光标跳转到下一个块,安装了扩展,会有一个新的工具条,这里面有更多的运行方式可供选择。如果输入的是Markdown,那么同样需要运行才能看到效果。输入Markdown后可以用快捷键马上看到实际的效果,这个快捷键是运行当前单元但还是停留在原地。如果安装了扩展,可以实时看到Markdown的效果,非常直观有效。Markdown同时还支持LaTeX数学公式,具体请自行研究

执行系统命令

如果单元中需要运行操作系统的指令,可以在命令前加上运行,但是请注意是不会改变当前的运行目录,即多次切换路径后执行总是显示我们在配置文件里定义的notebook_dir路径。

魔法指令

还有一些魔法指令是属于Jupyter Notebook本身的操作,命令都是使用开头,运行可以看到所有的魔法指令,具体应用也请自行查阅官方文档,在使用matplotlib画图时,可能会出现错误,按网上推荐的操作,是告诉Jupyter获取所有matplotlib生成的图形,并把它们全部嵌入到notebook中。为此,只需输入以下命令:

这条语句执行可能会花点时间,但是只需要你打开notebook时执行一次就好

我在初步尝试绘图时并没有运行这条魔法指令,所以可能和安装环境或者运行的代码有关,并发必要条件

变量

整个Notebook的变量都是在一个命名空间内,所以只要在第一个单元中申明过的变量或者导入的模块,在后面的单元中都可以直接使用,这样可以把代码编写成一个个片段,便于调试和查看。

安装了扩展后,在菜单上会多出一个,里面有一些常用模块的代码片段,比如用NumPy生成一个多维数组数据,很适合学习python时使用。同时还Markdown的语法片段,需要插入图片、表格时忘记语法也不怕。

安装了扩展后,可以在Markdown的单元中使用就能调用之前的python单元中的变量值

单元

单元中编辑代码时还可以使用代码补全的快捷键,Tab键在Markdown里是正常的编辑缩进操作,但是在Code里面可以补全命令或提示代码,操作同Linux的命令补全方法。

单元如果要调整位置可以用工具条中的上下按钮,而如果想在现有的单元前插入一个新的块,就需要在菜单中选择,或者使用快捷键

更多快捷键可以看-

保存下载

幸辛苦苦写了一大堆内容,万一挂了怎么办?

Jupyter Noteb有自动保存,同时自己也可以执行-

在菜单下还有很多格式可以转化并下载,但是相应的转化是需要有对应的模块支持的,导出成不需要特殊模块,导出成还需要有其他模块的支持,具体可以自行尝试。安装过扩展后,可以把当前Notebook中所有的内容(包括输出结果)导出成一个静态Html页,内嵌了样式和图片,便于放到其他网站上。

添加新的内核

Jupyter Notebook不仅可以使用python,还可以使用其他开发语言作为内核,在Jupyter的github wiki中列出了所支持的内核列表,可以选择安装自己熟悉的开发语言,比如安装了可以创建Node.js类型的Notebook。

需要注意的是,每个Notebook都只能使用一种语言内核,除了在新建时需要决定内核,在创建Notebook后也可以在菜单-切换内核。

以上内容都是在中编写,作为一个web端的Markdown编辑器来说还不错,不过日常使用(比如写这段文字)还是推荐使用,所见即所得,可以导出成各种样式,并且跨平台支持Windows和Mac。

保存的文件可以在github上可以直接预览,这个很赞。之前说过的就是基于搭建,所以可以在本地创建的文件可以直接上传到Colab使用。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180226G0HSCC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券