介绍
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,目前支持运行 40 多种编程语言。
Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。对于一些追求可视化的选手,或者说在写一些需要一步步调试的功能时,是一个很好的工具。
安装
通过Anaconda
安装
Anaconda
是一个很有意思的软件,也是Python中举足轻重的一部分,不过网上一搜一大堆,就不过多介绍了。
按照 官方给定的教程下载后,就会在启动面板看到 Jupyter
的图标。
注:按照个人安装的包不一致,显示的版本和图标顺序会有所不同。
pip
安装
- 如果只安装了一个Python版本,那直接在命令行中使用以下命令就可以了
python -m pip install --upgrade pip # 如果没有pip 则安装,如果有则更新
pip install jupyter # 安装 jupyter包
- 如果安装了多个Python版本,则根据设置的Python安装别名进行安装
在Python2
和Python3
共存的前提下,设置了Python3
的别名为python3
使用以下命令,对于大多数内置了Py2和Py3的Linux来说 ,也是这个命令。
python3 -m pip install --upgrade pip
pip3 install jupyter
在Python2
和Python3
共存的前提下,设置了Python2
的别名为python2
使用以下命令
如果已经安装了Python 2
:
python2 -m pip install --upgrade pip
pip2 install jupyter
嗯,怎么说呢,在非Anaconda环境下,多Python版本管理是个非常蛋疼的事情。
第一次启动
- 在
Anaconda
环境中启动
在Windows+Anaconda 环境中会出现这两个图标,如果没有修改过任何配置的话,它们的启动后的工作目录应该都是
文档 目录,即当前用户的文档目录。点这两个都可以启动,启动后会出现如下的弹窗。Windows和Linux差不多,只是部分显示信息不同。
我这个因为一些设置,将当前用户根目录设置为工作目录了。启动成功后,会通过浏览器打开一个页面,然后就可以在网页里操作了。 - 命令行启动
在命令行中输入jupyter notebook
这个就使用了我之前设置的启动目录,所以我一般用命令行启动,比较好控制启动目录。 - 启动并临时设置工作目录
jupyter notebook . # 设置当前目录为工作目录,并启动jupyter notebook
jupyter notebook path # 设置 path 目录为工作目录,path可以为任意目录,但需要注意 Windows和Linux关于目录分隔符的区别
Jupyter设置
生成配置文件
在命令行中输入
jupyter notebook --generate-config
如果命令执行成功,会在 %用户目录%/.jupyter/ 下生成一个 jupyter_notebook_config.py
文件。
注意 Windows的 %用户目录% 指 C:/Users/<登录用户名>
Linux 值 运行 cd ~ 返回的目录
如果已存在,则会提示是否已覆盖,按需输入y/N,默认是不覆盖
修改几个常用项
c.NotebookApp.notebook_dir
默认工作目录c.NotebookApp.password
密码,使用的是 SHA1 密码串
生成密码串的方式:
from notebook.auth import passwd
passwd()
在python交互命令行中执行以上命令,然后两次输入密码,就会得到一个密码串,格式是:'sha1:<密码>'
将得到的密码串(包括 sha1 前缀) 赋值给 c.NotebookApp.password
以上是我最近遇到的一些设置项,更多的可以查看 jupyter_notebook_config.py
文件。
需要指出的是,配置文件中所有设置项都是注释的,如果需要修改,必须先取消注释才行。
关于 Windows下 通过快捷方式启动Jupyter NoteBook 可能需要的问题
如果直接通过快捷方式启动,会遇到设置的工作目录不起作用的问题,右键快捷方式点击属性
然后修改箭头指向的内容,点确认保存修改。
使用 Visual Code 写Jupyter NoteBook
每次启动 Jupyter NoteBook都会弹出一个黑框,身为一个非典型强迫症看着着实难受,所以就尝试了用code。
感觉很不错,code 安装python
扩展后,直接新建 XXX.ipynb 文件就会自动渲染,效果如下
点 三角形箭头执行当前单元格。
不重启服务安装其他包
在平时使用的时候会遇到这么一种情况,写的正嗨的时候,发现要用的包没安装,不得已关闭然后pip安装,再启动,感觉相当费劲。所以我就查了一下有没有在不重启服务的前提下,安装三方包。现有方案如下
方案一 使用命令
在jupyter notebook
的单元格里输入下面的命令,然后执行:
!pip install
jupyter
可以通过这种方式访问别的命令,例如 !ls !touch xxx.py
方案二 使用python
脚本
import os
ok = False
while not ok:
get_ipython().system('pip install numpy')#或者os.system('pip install numpy')
try:
import numpy
ok = True;
except:
continue
这种方式比较万能,适合很多python环境,在脚本或者其他不能重启的环境中可以通过这种方式安装三方包,不过也是一种权宜之计。
总结
jupyter notebook 的初步使用就这么多,更多功能需要后续慢慢挖掘。
更多内容烦请关注我的博客