参考Jupyter notebook使用技巧与JupyterLab
开发、文档编写、运行代码和展示结果
conda install jupyter notebook
或
pip3 install jupyter
设置Jupyter Notebook文件存放位置
Windows系统的配置文件路径:C:\Users\<user_name>\.jupyter\
Linux/macOS系统的配置文件路径:/Users/<user_name>/.jupyter/ 或 ~/.jupyter/
配置文件名:jupyter_notebook_config.py
(1)进入工作目录
CMD>d:
CMD> cd D:/LEARN/jupyter-notebook
(2)激活Anaconda中的python虚拟环境
CMD> conda activate python36
(3)运行jupyter
(3-1)默认端口启动
CMD> jupyter notebook
如果同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”。
(3-2)指定端口启动
CMD>jupyter notebook --port 9999
(3-3)启动服务器但不打开浏览器
CMD>jupyter notebook --no-browser
#(1)安装jupyter notebook
$ sudo pip3 install jupyter notebook
$ sudo pip3 install -U "ipython[all]"
$ sudo pip3 install --upgrade ipykernel
$ sudo pip3 install --upgrade ipython
#(2)生成配置文件
$ jupyter notebook --generate-config
Writing default config to:
文件/root/.jupyter/jupyter_notebook_config.py
#(3)对应修改其中的值
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 // 开放的端口号
c.NotebookApp.notebook_dir = '/home/pi/' // 可以访问的目录
#(4)设置jupyter notebook的访问密码
$ jupyter notebook password
[NotebookPasswordApp] Wrote hashed password to
文件/home/pi/.jupyter/jupyter_notebook_config.json
#(5)启动jupyter notebook
$ jupyter notebook
配置c.NotebookApp.ip = ‘10.23.241.202’。
magic函数主要包含两大类:
一类是行魔法(Line magic)前缀为%。
一类是单元魔法(Cell magic)前缀为%%。
(1)%lsmagic
打印当前可以用的魔法命令。
(2)%lsmagic?
显示魔法命令的说明。
(3)%matplotlib inline
使用matplotlib画图时,图片嵌入在jupyter notebook里面,不以单独窗口显示。
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
plt.plot(np.arange(10))
(4)%timeit和%%timeit
为代码执行计时
import numpy as np
%timeit np.sin(24)
或
%%timeit
x=np.sin(20)
np.cos(-x)
(5)%%writefile
后面紧接着一个file_name.py,表示在jupyter notebook里面创建一个py文件,后面cell里面的内容为py文件内容。
%%writefile test_peace.py
import numpy as np
print(np.random.randint(1,5))
在当前路径下会生成一个test_peace.py的文件,内容就是cell里面的内容。
(6)%run
后面紧接着一个相对地址的file_name.py,表示运行一个py文件。
%run test_peace.py
(7)%pwd
查找当前目录
(8)%cd
更改当前目录
(9)%cp
复制文件
%cp test_peace.py test_load.py
(10)%whos
查看当前变量,类型,信息
(11)%load
加载一个文件里面的内容
%load test_peace.py
(1)Files页面
用于管理和创建文件相关的类目。
对于现有的文件,可以通过勾选文件的方式,对选中文件进行复制、重命名、移动、下载、查看、编辑和删除的操作。
(2)Running页面
Running页面主要展示的是当前正在运行当中的终端和“ipynb”格式的笔记本。若想要关闭已经打开的终端和“ipynb”格式的笔记本,仅仅关闭其页面是无法彻底退出程序的,需要在Running页面点击其对应的“Shutdown”。
(3)Markdown生成目录
Jupyter Notebook无法为Markdown文档通过特定语法添加目录,因此需要通过安装扩展jupyter_contrib_nbextensions来实现目录的添加。
启动Jupyter Notebook,导航栏多了“Nbextensions”的类目,点击“Nbextensions”,勾选“Table of Contents ⑵”。
(4)Markdown在文中设置链接并定位
因为Markdown可以完美的兼容html语法,因此这种功能可以通过html语法当中“a标签”的索引用法来实现。
语法格式如下:
[添加链接的正文](#自定义索引词)
<a id=自定义索引词>跳转提示</a>
头尾之间的“跳转提示”是可有可无的。
例如
[点击跳转](#linkyou)
<a id=linkyou>跳转到这里</a>
(5)加载指定网页源代码
在Jupyter Notebook中直接加载指定网站的源代码到笔记本中。
语法格式:
%load URL
其中URL为指定网站的地址。
%load http://www.baidu.com
加载指定网站源代码
(6)加载本地图片
![jupyter](./xxx.png)
nbconvert failed: pdflatex not found on PATH 或者 nbconvert failed: PDF creating failed, captured latex output。查了一些资料后改用命令行,要避免’xelatex’ 不是内部或外部命令,也不是可运行的程序或批处理文件,需要先安装MiKTeX,在其官网https://miktex.org/download下载后,Windows版一路next安装就行。
安装路径D:\Program Files\MiKTeX
(1)ipynb文件编译为tex
在命令行中定位到要转换的jupyter文件的路径下,输入
jupyter nbconvert --to latex yourNotebookName.ipynb
(2)手动编辑latex文件
为了能支持输出中文,需要改一下tex文件,在编辑器(我用的是Notepad++)打开刚才生成的LaTeX文件。
插入下面的内容
\usepackage{fontspec, xunicode, xltxtra}
\setmainfont{Microsoft YaHei}
xelatex yourNotebookName.tex
之前没有运行过xelatex,首次运行会安装一些依赖文件,会慢一些,最后运行完毕.
.ipynb 是我们的jupyter文件
.tex 是由jupyter notebook文件生成的
.pdf 是我们最后的目标文件由.tex文件生成
.log、.out、.aux是LaTex生成pdf的一些输出和日志
删除单元格:连续两次按 “D”
jupyter nbconvert --to script <待转换的 .ipynb 文件的路径>
Python的IDE中,有一个很好用的功能,代码自动补全。在Jupyter Notebook中想要代码自动补齐,需要安装Jupyter的插件,然后配置才能实现代码的自动补齐。
首先打开Jupyter Notebook的环境,启动Terminal后,使用PIP命令来安装Jupyter的插件。整个过程需要安装两个插件,并且每次插件安装完成后,都需要激活该插件。如下:
安装nbextensions:
$ pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.cn/simple
$ jupyter contrib nbextension install --user
安装nbextensions_configurator:
$ pip install --user jupyter_nbextensions_configurator
$ jupyter nbextensions_configurator enable --user
重启jupyter,在弹出的主页面里,能看到增加了一个Nbextensions标签页,在这个页面里,勾选 Hinterland 即启用了代码自动补全。
#jupyter查看python版本
import sys
print(sys.version)
CMD>conda activate python36
CMD>pip3 install jupyterlab
Jupyter Lab 被认为是 Jupyter Notebooks 的进一步发展,支持更加灵活和更加强大的项目操作方式,能更改显示主题、安装插件,你也可以编辑 Markdown、CSV 和 JSON 等常用文件格式并实时预览修改所造成的影响,具有更强大的生产力。
CMD>jupyter lab默认打开浏览器
CMD>jupyter lab --no-browser
jupyter lab是基于jupyter notebook的新版本,是包括了Notebook的下一代的有模块化的界面,可以在同一个窗口同时打开好几个notebook或文件(HTML, TXT, Markdown等等),都以标签的形式展示,于是就更像是一个IDE。除了界面上存在差异,使用方式上和notebook没有大的差别。
在 Jupyter Lab 中,我希望将代码从编辑器发送到Python控制台以执行,最好使用键盘快捷键。
(1)ModuleNotFoundError: No module named ‘_sqlite3’
在centos中安装运行jupyter时报错。
解决方案:
首先安装 sqlite-devel
yum install sqlite-devel
重新编译安装Python
#tar -xzvf /root/Python-3.6.6.tgz -C /tmp
#cd /tmp/Python-3.6.6/
#./configure --prefix=/usr/local
#make
#make install
#rm -rf /tmp/Python-3.6.6
重新编译不影响已经安装的包
#jupyter notebook --allow-root --no-browser
#nohup jupyter notebook --allow-root --no-browser &后台运行
在当前目录下查看nohup.out中的链接。