Jupyter Notebook 快速入门
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。在本文中,我们将介绍 Jupyter notebook 的主要特性,以及为什么对于希望编写漂亮的交互式文档的人来说是一个强大工具。
1.安装python3.7
Linux下默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存
首先去Python官网下载python3的源码包,网址:https://www.python.org/
我这里下载的是Python-3.7.3.tgz,安装过程如下
tar -xvzf Python-3.7.3.tgz #释放文件
cd Python-3.7.3/ #进入目录
./configure --prefix=/usr/python3 #添加配置
make #编译源码
make install #执行安装
整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python3
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.6
我们可以把这个删除,也可以新建一个python3的软链接,只不过执行时python要改成python3,或者python脚本头部声明要改为#!/usr/bin/python3
这里为了方便建议先重命名一下,然后建立个软链接就可以了,之前的程序头部也不用更改:
$ mv /usr/bin/python /usr/bin/python.bak
$ ln -s /usr/python3/bin/python3 /usr/bin/python
这样就建立好了,以后直接执行python命令,就相当于调用python3,实际上python3也是个软链接,链接到python3.7.3,这个多次链接其实不影响,主要是为了版本升级更加方便,不用改版本号了
python3新版本的安装就是这些,不用卸载旧版本,新版本同样正常使用
添加环境变量
vim /etc/profile
source /etc/profile #使环境变量生效
2.Jupyter Notebook
pip3 install jupyter Notebook
报错
ModuleNotFoundError: No module named '_sqlite3'
解决方案:
(1)下载sqlite-autoconf-3230100.tar.gz,下载连接http://www.sqlite.org/2018/sqlite-autoconf-3230100.tar.gz,安装
tar xzf sqlite-autoconf-3230100.tar.gz
cd sqlite-autoconf-3230100
./configure
make && make install
(2)在liunx命令行输入sqlite3,得到如下结果:
[root@YeMa sqlite-autoconf-3230100]# sqlite3
SQLite version 3.23.1 2018-04-10 17:39:29
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
说明sqlite3编译安装成功,输入.quit退出sqlite3
(3)重新编译python3.7.3,才能识别sqlite3,重复第一步安装python3.7
安装jupyter Notebook
pip3 install jupyter Notebook
执行
jupyter Notebook
报错
Traceback (most recent call last):
File "./jupyter-notebook", line 10, in <module>
sys.exit(main())
File "/usr/local/python3/lib/python3.7/site-packages/jupyter_core/application.py", line 266, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/usr/local/python3/lib/python3.7/site-packages/traitlets/config/application.py", line 657, in launch_instance
app.initialize(argv)
File "</usr/local/python3/lib/python3.7/site-packages/decorator.py:decorator-gen-7>", line 2, in initialize
File "/usr/local/python3/lib/python3.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/python3/lib/python3.7/site-packages/notebook/notebookapp.py", line 1628, in initialize
self.init_webapp()
File "/usr/local/python3/lib/python3.7/site-packages/notebook/notebookapp.py", line 1407, in init_webapp
self.http_server.listen(port, self.ip)
File "/usr/local/python3/lib/python3.7/site-packages/tornado/tcpserver.py", line 151, in listen
sockets = bind_sockets(port, address=address)
File "/usr/local/python3/lib/python3.7/site-packages/tornado/netutil.py", line 174, in bind_sockets
sock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address
解决方案
启动加参数
jupyter notebook --ip=0.0.0.0 --no-browser --allow-root
出现如下信息说明安装成功
[root@satp bin]# jupyter notebook --ip=0.0.0.0 --no-browser --allow-root
[I 14:15:17.873 NotebookApp] 启动notebooks 在本地路径: /usr/local/python3/bin
[I 14:15:17.873 NotebookApp] 本程序运行在: http://(satp.11 or 127.0.0.1):8888/?token=738dd585f21eb5e8eabc37b90fd0ad98c6d6a150ec6bd3e4
[I 14:15:17.873 NotebookApp] 使用control-c停止此服务器并关闭所有内核(两次跳过确认).
[C 14:15:17.892 NotebookApp]
To access the notebook, open this file in a browser:
file:///run/user/0/jupyter/nbserver-14848-open.html
Or copy and paste one of these URLs:
http://(satp.11 or 127.0.0.1):8888/?token=738dd585f21eb5e8eabc37b90fd0ad98c6d6a150ec6bd3e4
在浏览器输入http://IP:8888/?token=738dd585f21eb5e8eabc37b90fd0ad98c6d6a150ec6bd3e4