Win10 配置Jupyter Notebook

August 10, 2018 · 分享 · 20次阅读
  • 前往anaconda官网下载安装包

地址:https://www.anaconda.com/download
不同平台要对应选择

  • 安装(默认路径是C:Users用户名Anaconda3)建议一路确定...时间有点长,不要着急~


  • 开始配置anaconda

  • 点击上图后会有一个黑框闪过,最后是这个界面

  • 此时直接就可以运行Jupyter Notebook了,点launch

稍等片刻,会自动打开浏览器,如图

  • 不过这个时候是在C:Users用户名 目录,一般我们会有一个常用的(工作)目录,我们需要修改一下(图上已经是改过了)。
  • 切换到anaconda的Environment界面,按图所指,通过base(root)选择Open Termminal,然后再cmd界面中执行
jupyter notebook --generate-config

  • 执行命令后,会创建jupyter_notebook_config.py配置文件,找到这个文件。

  • 找到c.NotebookApp.notebook_dir所在行,去掉注释,修改为c.NotebookApp.notebook_dir = 'X:/your/folder/path'然后保存(注意斜杠方向)。

  • 然后找到Jupyter Notebook快捷方式的位置,将属性中的%USERPROFILE%删除,并应用确定。


  • 现在关闭anaconda重新打开Jupyter Notebook就会在设置好的目录下了
  • 在前面提到的打开Terminal后,执行
jupyter notebook list

可以看到当前运行的notebook有哪些,以及带token的地址,复制地址就可以再任意浏览器访问了。如果是在开始菜单直接运行的jupyter notebook,那么会有一个cmd界面可以看到地址。
这里就不设置默认启动浏览器了,网上有很多教程~

  • 开始写了几行代码感觉非常难受,原来是没有自动补全(

下面开始安装一个自动补全插件

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

如果遇到提示确实库,直接pip install安装,然后重新执行上面的命令

  • 关闭Jupyter Notebook然后重新打开,选择Nbextensions,把Hinterland勾上,然后就启用代码补全了,效果如图。


  • 后面又发现个不太习惯的事情,就是duplicate current line(重复当前行),在notepad++是Ctrl+D实现的,后来找到解决办法了。

参考:https://stackoverflow.com/questions/29244922

  • 首先找到~/.jupyter/custom/custom.js,实际上Windows没有这个路径,后来发现在下C:Users用户名Anaconda3搜索发现有好几个custom.js,我更改的是
C:\Users\用户名\Anaconda3\pkgs\notebook-5.5.0-py36_0\Lib\site-packages\notebook\static\custom\custom.js

更改其中一个custom.js似乎其他几个也会自动改变。添加以下代码

/**
*
* Duplicate a current line in the Jupyter Notebook
* Used only CodeMirror API - https://codemirror.net
*
**/
CodeMirror.keyMap.pcDefault["Ctrl-D"] = function(cm){

    // get a position of a current cursor in a current cell
    var current_cursor = cm.doc.getCursor();

    // read a content from a line where is the current cursor
    var line_content = cm.doc.getLine(current_cursor.line);

    // go to the end the current line
    CodeMirror.commands.goLineEnd(cm);

    // make a break for a new line
    CodeMirror.commands.newlineAndIndent(cm);

    // filled a content of the new line content from line above it
    cm.doc.replaceSelection(line_content);

    // restore position cursor on the new line
    cm.doc.setCursor(current_cursor.line + 1, current_cursor.ch);
};
  • 注意stackoverflow答案中示例是Ctrl-Down,即Ctrl+下方向键,而我惯用的是Ctrl+D,所以是Ctrl-D
  • 不过还是有个小问题,在有缩进的行时会执行为先回车,这个时候位于有缩进位置,再粘贴,呈现出来就是梯级的样子...如图

  • 经过测试用Ctrl+Backspace可以删除前边的缩进,查询相关代码,增加下面这一句,完美解决问题
CodeMirror.commands.delGroupBefore(cm);

  • 另外不知道是不是win10体质的问题,总是遇到
The kernel appears to have died. It will restart automatically


网上很多说在Terminal更新下mkl,不过好像没有什么用。下午的时候好像又不崩了...

conda update mkl

其他使用记录,后续再更新~

标签:anaconda,jupyter

最后编辑于:2018/08/10 10:51

添加新评论