|
Jupyter是一个基于Web的交互式计算平台,使用户能够创建和共享文档,这些文档包含实时代码、方程式、可视化图表和解释文字。Jupyter在数据分析领域被广泛应用,它提供了一个直观、交互式的操作界面,使得用户能够更容易地探索数据、可视化数据以及进行数据处理和建模的实验。Jupyter不仅能够对Python代码进行展示和格式化,还能够保存用户的历史代码和结果以及数据分析结果。这些结果可以在后期随时查看和修改,使得Python的学习和应用变得更加方便和高效。总之,学习一下jupyter还是非常必要的,也非常的方便,本文的操作主要针对Windows系统。1.安装Jupyter安装是非常简单的,一般有两种方式,一种就是python环境,另外一种就是Anaconda环境;1.1Python环境下安装安装Python。从Python官方网站[1]下载最新版本的Python。安装pip。pip是Python的包管理工具,用于安装和管理Python包。在命令行输入以下命令来检查pip是否已经安装:pip--version1如果pip已经安装则会输出pip的版本信息,否则需要手动安装。安装JupyterNotebook。使用pip命令来安装JupyterNotebook。在命令提示符或终端窗口中输入以下命令:pipinstalljupyter1等待一段时间,JupyterNotebook就会被安装到你的电脑上了。启动JupyterNotebook。安装完成后,在命令提示符或终端窗口中输入以下命令来启动JupyterNotebook:jupyternotebook1这个命令会自动打开你的默认浏览器,展示JupyterNotebook的主页,并在后台启动一个Jupyter内核(Kernel)。1.2Anaconda环境下安装正常的话,安装Anaconda的时候,jupyter是伴随anaconda安装好的,不需要按照如下步骤再去安装;安装Anaconda。从Anaconda官方网站[3]下载最新版本的Anaconda。启动AnacondaNavigator。安装完毕后,启动AnacondaNavigator,它是一个可视化的应用程序,方便用户管理和运行Anaconda中包含的各种工具和应用。安装JupyterNotebook。在AnacondaNavigator中,点击左侧导航栏的“Environments”,然后在右边的区域中选中需要安装JupyterNotebook的环境,在下方的“Packages”标签页中搜索“jupyter”,并勾选“jupyter”和“notebook”。然后点击“Apply”按钮进行安装即可。启动JupyterNotebook。安装完成后,在AnacondaNavigator中点击“Launch”按钮启动JupyterNotebook,也可以在命令提示符或终端窗口中输入以下命令来启动:jupyternotebook12.启动命令默认端口启动jupyternotebook1浏览器地址栏中默认地将会显示:http://localhost:8888/tree。其中,“localhost”指的是本机,“8888”则是端口号,每多启动一次,端口号类推指定端口启动jupyternotebook--port
指定端口号只有数字,不含12启动服务器但不打开浏览器jupyternotebook--no-browser1终端会显示出打开浏览器的链接,若需启动浏览器,复制链接打开即可3.配置文件存放位置JupyterNotebook的启动目录是指JupyterNotebook执行服务时的默认工作目录。当你在JupyterNotebook中新建一个文件时,默认情况下会在该目录下创建文件。设置JupyterNotebook的启动目录非常有用,尤其是在你的工程有大量分散在不同目录中的数据或代码时。通过将启动目录设置为你的工程根目录,你就可以更轻松的管理和访问这些数据或代码了。例如,假设你有一个名为“my_project”的项目,其中包含多个子目录和数据文件。如果你将JupyterNotebook的启动目录设置为“my_project”目录,那么你就可以很方便地访问这个项目中的任何文件,而无需在JupyterNotebook中输入完整路径。另外,在JupyterNotebook里,你可以使用一些Python库来处理和可视化你的数据。如果你使用的是相对路径来访问数据文件,那么使用相对于启动目录的路径通常会比使用绝对路径更方便。jupyter默认文件都放在用户目录下,如下图,启动的时候就可以看到启动目录;进入jupyter也确实是这个目录下的内容;显然这是有问题的,所以需要我们更改文件的存放位置;新建一个目标文件夹在你想放这些文件的位置新建一个目录,比如我的目录是:D:\Coding\Jupyter_PyProject查看配置文件路径命令窗口输入这行命令,或者在你对应的python环境下的命令窗口输入这行命令,即可查看默认的配置文件位置;但是这条命令虽然可以用于查看配置文件所在的路径,但主要用途是是否将这个路径下的配置文件替换为默认配置文件(相当于重置)jupyternotebook--generate-config1修改配置文件上面找到了配置文件的位置,现在我们只需要打开这个文件,然后编辑即可;windows比较方便,利用记事本打开可以打开,但是可能找目标代码就有点麻烦了,这里使用notepad++打开;直接Ctrl+F搜索关键字c.NotebookApp.notebook_dir,就可以找到目标代码行了;找到这行代码后,取消注释,并在单引号内写上事先建好的用来存放文件的目录地址,保存退出;重新启动jupyter验证配置情况;可以看到这里已经修改成功了;这里有个坑这里要强调一下通过命令打开和通过anaconda安装的时候提供的快捷方式打开,因为这里有坑,当你安装完Anaconda的时候,你会发现利用命令和快捷方式都能打开一个jupyter,这俩打开方式是不一样的,比如修改好了jupyter的启动目录,但是在使用快捷方式打开后,启动目录还是默认的目录;具体的差别请查看下面的Q&A部分;4.界面功能FilesRunningRunningtab显示了当前正在运行的内核和JupyterNotebook进程。具体来说,Runningtab会列出所有当前正在运行的Notebook,包括它的名称、所在目录、Noteboook文件的路径、内核(kernel)的状态、连接的用户以及它的启动时间等信息。通过Runningtab,您可以方便地查看已经打开的Notebook,并可以选择以不同的方式关闭它们(关闭Notebook不会关闭内核),如停止内核、重启内核、删除Notebook、打开终端、查看Notebook的启动日志等。此外,Runningtab还提供了一些高级功能,如将多个Notebook捆绑到单个服务中、配置和管理JupyterNotebook服务器等。Clusters在JupyterNotebook中,Clusterstab是指Jupyternotebook的一个组件,它是IPythonparallel包提供的一个交互式界面,用于在多台计算机之间分配任务和协调计算。具体来说,Clusterstab允许用户连接到一个或多个远程IPython核心(IPythonengines),并在这些核心之间分发计算任务。在Clusterstab中,用户可以通过添加、删除、启动、停止和连接到IPython集群来管理集群。一旦连接到集群,用户可以在各个核心之间分配计算任务,以便以最大程度地同时使用多台计算机的CPU和内存资源。Clusterstab还提供了一些额外的功能,如查看集群状态、监控工作负载和任务进度等。一般不用…编辑器界面这里搬运一张其他博主的图片,原文:https://zhuanlan.zhihu.com/p/441668517其实还是比较清晰的,但是如果你还是不熟悉,就翻译呗,翻译网页就ok了,至于汉化,网上很多办法反正我都没成功。5.主题扩展5.1配置方法安装利用pip安装主题扩展pipinstalljupyterthemes1加载可用的主题列表jt-l1应用某个主题这里的主题名称就是上面主题列表中的主题名,如果命令报错,看下面的解决办法;jt-t主题名称1高级的配置jt-t主题名称-f字体名称-fs字体大小-cellw代码单元格宽度-T工具栏-N笔记本名称1详细内容参看官网:https://github.com/dunovank/jupyter-themes还原默认主题jt-r1jt命令不可用解决办法安装jupyterthemes之后,运行jt命令,报错如下jt:无法将“jt”项识别为cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置行:1字符:1+jt-l+~~+CategoryInfo:ObjectNotFoundjt:String)[],CommandNotFoundException+FullyQualifiedErrorId:CommandNotFoundException1234567解决办法就是配置一下环境变量,打开环境变量——点击系统变量——点击PATH——新建;当然这里的路径要和你的本地环境一致;如果不知道路径的话,可以打开命令窗口;切换到你安装jupyterthemes的环境下(你没有安装多个虚拟环境,或者你jupyter就安装在默认的环境下,就不用管),运行pipshowjupyterthemes;最后不要定位到site-packages目录,要定位到Scripts目录;5.2主题一览chesterishgrade3gruvboxdgruvboxlmonokaioceans16onedorksolarizeddsolarizedl6功能扩展6.1关联Anaconda环境6.1.1简介与安装nb_conda是一个JupyterNotebook的插件,它可以在Notebook中实现Conda环境和包的访问。在Jupyter的文件浏览器中,nb_conda扩展会添加一个Conda选项卡,点击该选项卡即可查看已存在的Conda环境列表。通过nb_conda,用户可以轻松地在Notebook中创建、使用和分享自己的Conda环境。安装condainstallnb_conda1卸载candaremovenb_conda16.1.2使用简介选择conda导航栏,就能显示anaconda的环境和包了;Kernel选择6.2扩展库6.2.1简介与安装扩展库一般涉及两个东西,一个就是jupyter_nbextensions_configurator,另一个是jupyter_contrib_nbextensions;jupyter_nbextensions_configurator是一个用于管理和配置JupyterNotebook的笔记本扩展程序的GUI工具。它提供了图形用户界面(GUI)来启用、禁用和配置JupyterNotebook的nbextensions扩展程序。它还允许你使用预定义选项来配置这些扩展程序,使其更加符合你的需求。此外,它还提供了一些主题以改变笔记本的样式和交互体验。jupyter_contrib_nbextensions则是一组可用于增强JupyterNotebooks功能的扩展程序集合。这些扩展包含多种类型的实用工具,如代码折叠、高亮显示、表格排序、导航栏等等。通过安装jupyter_contrib_nbextensions,你可以更方便地管理你的笔记本,提高编程效率。需要注意的是,jupyter_contrib_nbextensions中包括了nbextensions_configurator工具。pip安装pipinstalljupyter_contrib_nbextensionsjupytercontribnbextensionsinstall--userpipinstalljupyter_nbextensions_configuratorjupyternbextensions_configuratorenable--user12345conda安装condainstall-cconda-forgejupyter_contrib_nbextensionsjupytercontribnbextensioninstall--usercondainstall-cconda-forgejupyter_nbextensions_configuratorjupyternbextensions_configuratorenable--user1234安装后发现扩展库里面只有四五个把扩展库卸载了重新装一遍就行了,建议一行一行的跑命令;pip卸载pipuninstalljupyter_contrib_nbextensions1anaconda卸载condaremovejupyter_nbextensions_configurator1安装之后,启动jupyter就能看到nbextensions了,要取消图中的选择,才能使用;使用即在对应的扩展前面选中即可;6.2.1扩展推荐TableofContents:自动生成文档中的目录,方便快速导航和查找内容。[1]CollapsibleHeadings:折叠和展开单元格,节省页面空间并使整个文档更易于导航。[2]CodeFolding:可以折叠代码单元格中的代码块,有助于隐藏不必要的细节并提高可读性。[3]ExecuteTime:显示代码单元格的执行时间。[4]Notify:当代码执行完成时向浏览器推送通知。[5]部分内容及图片来源:https://cloud.tencent.com/developer/article/21356627.基本使用先摆上两个链接,更多详细的内容参看:JupyterNotebook介绍、安装及使用教程JupyterNotebook的快捷键JupyterNotebook笔记本的两种模式命令模式命令模式将键盘命令与JupyterNotebook笔记本命令相结合,可以通过键盘不同键的组合运行笔记本的命令。按esc键进入命令模式。命令模式下,左侧边框线为蓝色粗线条。编辑模式编辑模式使用户可以在单元格内编辑代码或文档。编辑模式下,单元格边框和左侧边框线均为绿色。删除单元格快捷方式:进入命令模式后双击D键恢复单元格:进入命令模式后按Z键Shift-Enter:运行本单元,选中下个单元Ctrl-Enter:运行本单元Alt-Enter:运行本单元,在其下插入新单元加载指定位置源代码想要在JupyterNotebook中直接加载指定位置的源代码到笔记本中;输入以下命令运行即可加载,运行完之后,代码会加载到单元格内,该命令会被注释;%loadURL1更多魔术命令上面就是魔术命令的一个应用,其他的还有类似获取当前文件位置的命令等等,更多内容参考官网:https://ipython.readthedocs.io/en/stable/interactive/magics.html8.实战8.1一个简单的绘图#!/usr/bin/envpython#coding:utf-8#In[1]:importpandasaspdimportnumpyasnpimportmatplotlib.pyplotasplt#In[2]:#创建测试数据df=pd.DataFrame({'year':[2016,2017,2018,2019,2020],'sales':[100,130,150,170,200]})#In[3]:#绘制柱状图plt.bar(df['year'],df['sales'],color='blue')plt.xlabel('Year')plt.ylabel('Sales')plt.title('SalesoverYear')plt.show()#In[]:12345678910111213141516171819202122232425262728293031323334'运行运行三个单元格分别导入包、创建测试数据、绘图;运行需要严格按顺序执行;8.1爬取微博热搜#!/usr/bin/envpython#coding:utf-8#In[7]:importrequestsfrombs4importBeautifulSoupimporttime#In[18]:headers={'User-Agent':'Mozilla/5.0(Macintosh;IntelMacOSX10_15_6)AppleWebKit/537.36(KHTML,likeGecko)Chrome/85.0.4183.102Safari/537.36','Cookie':'SUB=_2AkMTf37Hf8NxqwJRmPAVyG7jbol0wwrEieKlI48cJRMxHRl-yT9vqlYOtRB6OP9QKBlDDjMdGlMFok5NIqGTLxEXHcGr;SUBP=0033WrSXqPxfM72-Ws9jqgMF55529P9D9W5UiecUPRV2SWjRzBIq2X0V;SINAGLOBAL=618205954960.4446.1681196722663;UOR=www.baidu.com,weibo.com,tophub.today;_s_tentry=-;Apache=5834475057987.334.1682445226156;ULV=1682445226181:3:3:1:5834475057987.334.1682445226156:1681202990452;XSRF-TOKEN=WKel-EKSczosZuoOMXKVIH9H;WBPSESS=durPiJxsbzq5XDaI2wW0N0pbOd3fbV1w3XF-VOcj7XTJ8vDiYa5jmFydo3U2yLd3wSJp3fMJK1n5h3EzWFi1ruvJTHRYOs9aoG4rZ64JjMz9qH5LbEnhw5Cxomz5i-gj'}url='https://s.weibo.com/top/summary'#In[19]:try:response=requests.get(url,headers=headers)response.encoding='utf-8'ifresponse.status_code==200:print(response.text)else:print(f'Requestfailedwithstatuscode{response.status_code}')exceptRequestExceptionase:print(e)#In[20]:response_html=response.text#In[21]:soup=BeautifulSoup(response_html,'lxml')#In[22]:hot_list=[]#In[23]:items=soup.select('tbody>tr')#In[31]:foriteminitems:hot_title=item.select_one('.td-02>a').get_text(strip=True)hot_url='https://s.weibo.com'+item.select_one('.td-02>a')['href']hot_item={'hot_title':hot_title,'hot_url':hot_url}hot_list.append(hot_item)#In[43]:foriinrange(len(hot_list)):ifi
|
|