记录 Anaconda3 下 jupyter notebook修改配置、设定自动代码补全

    本文是本人在 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_nbextensions
jupyter contrib nbextension install --user
conda install jupyter_nbextensions_configurator
jupyter 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,无报错。

   

    本文参考了以下博文:

jupyter代码自动补全插件、安装后出现警告“Config option `template_path` not recognized by `LenvsLatexExporter`”的解决方案 - 孙晨c - 博客园

Python jupyter代码自动补全_puhonglin的博客-CSDN博客

特向原作者致敬,致谢!


版权声明:本文为m0_46629589原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。