python-5-jupyterNotebook和jupyterLab的使用方式
(1)进入工作目录CMD> cd D:/LEARN/jupyter-notebook(2)激活Anaconda中的python虚拟环境CMD> activate python36(3)运行jupyterCMD> jupyter notebook
1 jupyter notebook
开发、文档编写、运行代码和展示结果
1.1 windows中安装启动
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.2 Linux中安装启动
#(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’。
1.3 jupyter notebook魔法命令
Jupyter NoteBook 是功能强大的Python交互IDE,深受数据分析师和算法工程师的热爱。Jupyter NoteBook 在综合使用文字、代码、图片等多种元素展示设计者的想法方面有着美妙的用户体验。而其自带的一些常用Magic Command 可以让它变得更加得心应手。
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.4 基本使用
(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)
1.5 导出pdf并支持中文
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}
(3)转latex为pdf
xelatex yourNotebookName.tex
之前没有运行过xelatex,首次运行会安装一些依赖文件,会慢一些,最后运行完毕.
.ipynb 是我们的jupyter文件
.tex 是由jupyter notebook文件生成的
.pdf 是我们最后的目标文件由.tex文件生成
.log、.out、.aux是LaTex生成pdf的一些输出和日志
1.6 快捷键
删除单元格:连续两次按 “D”
1.7 ipynb转换为py格式
jupyter nbconvert --to script <待转换的 .ipynb 文件的路径>
1.8 代码自动补全
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 即启用了代码自动补全。
1.9 查看python版本
#jupyter查看python版本
import sys
print(sys.version)
1.10 更换主题
(1)pip install jupyterthemes #安装依赖库
(2)!jt -l # 查看有哪些主题
Available Themes:
chesterish
grade3
gruvboxd
gruvboxl
monokai
oceans16
onedork
solarizedd
solarizedl
(3)!jt -t grade3 # 更换主题
或者进行更精细的配置
jt -t grade3 -f fira -fs 13 -cellw 85% -ofs 15 -dfs 15 -T -T
-t 主题
-f(字体)
-fs(字体大小)
-cellw(占屏比或宽度)
-ofs(输出段的字号)
-T(显示工具栏)
-T(显示自己主机名)
更换主题后,关闭jupyter再次启动,主题就会发生变化
(4)!jt -r # 恢复默认主题
1.11 voila转化ipynb为web
Voila 是一个基于Jupyter的工具,它提供了一种简单的方式将Jupyter笔记本转化为Web应用。它通过隐藏笔记本的代码单元格并呈现笔记本中的输出结果,使用户能够以一种更直观和易用的方式与笔记本进行交互。
pip install voila # 安装
voila notebook.ipynb # 运行
2 jupyter lab
2.1 安装启动
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没有大的差别。
2.2 Console
在 Jupyter Lab 中,我希望将代码从编辑器发送到Python控制台以执行,最好使用键盘快捷键。
2.3 中文设置
pip install jupyterlab-language-pack-zh-CN
重启后settings->Language。
2.4 自动补全
参考Jupyter Lab安装,中文设置,自动补全与代码提示
pip3 install jupyterlab-lsp
pip3 install jedi-language-server
3 异常及解决
3.1 No module named _sqlite3
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中的链接。
3.2 CommandNotFoundError
在安装好anaconda后第一次新建虚拟环境激活时,出现该错误,详细错误如下所示:
一、错误提示:CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’.
If using ‘conda activate’ from a batch script, change your
invocation to ‘CALL conda.bat activate’.
二、解决方法
这个错误提示表明您的命令行环境没有正确配置以使用 conda activate 命令。运行 conda init:根据错误提示,且我这里使用的是cmd,所以使用conda init cmd.exe命令。
之后关闭命令行,重新打开输入激活命令即可。
3.3 No module named ‘jupyter_server.contents’
解决方式
pip install traitlets==5.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
4 指定python版本安装jupyter及插件
4.1 安装过程
一、安装jupyter
CMD>conda activate python311
CMD>pip install jupyter notebook==6.4.12
CMD>pip install ipykernel==6.14.0
CMD>pip install ipython==7.34.0
CMD>pip install traitlets==5.9.0
打开jupyter之后,查看jupyter所用的python版本
import sys
print(sys.version)
二、安装插件
(1)有的时候安装中不成功有残留,先卸载再安装
pip uninstall jupyter_contrib_nbextensions
pip uninstall jupyter_nbextensions_configurator
(2)进入cmd进行安装
pip install jupyter_nbextensions_configurator
pip install jupyter_contrib_nbextensions
(3)安装完成之后,要进行激活
(3-1)查看包地址
pip show jupyter_contrib_nbextensions
(3-2)进入安装包的目录
cd D:\Anaconda3\envs\python311\Lib\site-packages\jupyter_contrib_nbextensions
# 激活
python application.py install
4.2 No module named notebook.nbextensions问题
一开始在安装 notebook 中的插件 nbextensions 时根本没有注意到版本的适配问题,都是进行默认的安装,结果安装是最新版本的 notebook=7.x,恰好 notebook=7.x 版本不再适应插件 nbextensions,然后就各种报错。
pip uninstall notebook
pip install notebook==6.4
jupyetr notebook(以下简称 notebook) 7.x版本不再支持,如果还想在 notebook 中使用插件 nbextensions,则需要安装 6.x 版本的插件。
如果在安装 notebook 的时候没有指定版本,那将会默认安装最新版本的 notebook,可以通过 conda install notebook==6.4 来安装指定的版本,6.4 可以换成你需要的指定版本。
4.3 Error loading server extension jupyterlab
这个jupyterlab是在notebook的7.x版本上,如果想使用notebook的6.X版本的扩展包,就无法使用这个功能。
4.4 No module named ‘jupyter_server.contents’
5 参考附录
参考Jupyter notebook使用技巧与JupyterLab
参考Jupyter中显示数据data时只显示省略号不显示完整数据
参考一款将Python Jupyter笔记本代码转化为独立的Web应用的神器:Voila
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)