本文是本人在 Anaconda3 下 jupyter notebook配置修改过程的记录,高手可自动忽视。
因为近期数据分析需要分步查看结果,便选择了jupyter notebook,她可以方便地“步进式”运行,便于在分析中发现问题和及时修改。关于jupyter notebook的安装这里不再赘述,因为安装好Anaconda3中已经自带了jupyter notebook,直接点击运行就好。
但jupyter notebook默认的启动目录不是本人需要,默认启动浏览器是IE,需要根据本人需要修改。而且默认没有配置自动代码补全功能,需要加装插件。虽然有不少大神已经写了相关教程,但较零碎,有的并不适用小白,这里重新梳理并记录下来。需要说明的是,这里记录的操作,是基于Anaconda3配置的python3.8版本下的操作,其他版本并没有验证操作是否有效。
1.修改jupyter notebook默认的启动目录
在Windws PwerShell中运行:
jupyter notebook --generate-config会得到配置文件jupyter_notebook_config.py的完整文件地址。如果已经修改配置过该文件,则会提示是否重写为默认配置(千万别手快,按一个y回车,配置就回到解放前了,默认配置真的很干净,谁试谁知道),如下图:

用编辑器(什么都行)打开jupyter_notebook_config.py,搜索# c.NotebookApp.notebook_dir = ''这一行(大约在390行附近),去掉最前面的#(注意#后的空格也要去掉,保持顶格无缩进),在''中加入需要配置的目录。说明一下,不同系统里文件路径的符号是不同的,windows是双斜杠(\\),linux是反斜杠(/)。虽然本人是直接复制windows文件夹的路径(单斜杠\间隔),配置后,使用也正常,但还是建议使用标准的路径符号双斜杠分隔。
个人觉得复制后另起一行(注意顶格不留空)再配置,显得更清晰,如下图:

修改完以上配置后,还需要将jupyter notebook属性的“目标”中最后的%HOMEPATH%删除,更改默认文件位置方可实现。

2.修改jupyter notebook默认的浏览器为Google Chrome
在打开的jupyter_notebook_config.py配置文件中,搜索# c.NotebookApp.browser = '' 这一行(大约在153行附近),用以下内容替换:
# c.NotebookApp.browser = ''
import webbrowser
webbrowser.register("chrome", None,
webbrowser.GenericBrowser(u"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"))
c.NotebookApp.browser = 'chrome'其中,C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe 是Google Chrome的安装地址。
至此,修改默认打开目录和默认打开浏览器就修改完成了。在Windws PwerShell中输入jupyter-notebook 或 jupyter notebook回车运行,即可在Google Chrome浏览器中打开jupyter notebook在默认目录下。
3.给jupyter notebook增加代码自动补全
Anaconda3自带的jupyter notebook没有代码自动补全功能,要安装Nbextensions插件实现。 在Windws PwerShell中依次运行,步骤如下:
conda install jupyter_contrib_nbextensionsjupyter contrib nbextension install --userconda install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user执行完成后,重启jupyter notebook,即可以在主页面,增加了一个Nbextensions的Tab页面,原始状态(下面的选项均是不可框选状态)如下图:

在 Nbextensions选项卡页面下,去掉disable configuration for nbextensions without explicit compatibility (they may break your notebook environment, but can be useful to show for nbextension development)这一项的勾选,页面中下面的选项就可以选择了,勾选Hinterland这一项,再将前面disable configuration...这一项重新勾选,完成。

重启jupyter notebook,就可以发现代码可以自动补全了。需要注意的是,import导入库后,需要执行,相关库内的代码才可以自动补全。未执行导入库的,不会出现代码自动补全。

【可能出现的问题】
1.本人在重启jupyter notebook后,在Windws PwerShell中出现一堆的warning警告均为:Config option `template_path` not recognized by `#########`样式,原因是nbconvert6.0.0版本以上的某些参数的名称发生了更改,与原先版本不兼容,需要将版本降低到5.6.1。在Windws PwerShell中,执行如下命令:
conda install nbconvert==5.6.1执行安装后,重启jupyter notebook,无报错。
本文参考了以下博文:
Python jupyter代码自动补全_puhonglin的博客-CSDN博客
特向原作者致敬,致谢!