代码改变世界

python Jupyter Notebook插件以及vscode中使用Jupyter

2020-02-11 02:45  youxin  阅读(3913)  评论(0编辑  收藏  举报

 

Nbextensions是一个非常有用的插件,集合了很多插件。

官方安装文档地址:
https://github.com/ipython-contrib/jupyter_contrib_nbextensions/blob/master/README.md

**
安装步骤:
如果你已经安装了,先执行卸载命令:

pip uninstall jupyter_contrib_nbextensions
pip uninstall jupyter_nbextensions_configurator
 
打开Anaconda Prompt窗口,执行第一个命令,用于安装nbextensions:
pip install jupyter_contrib_nbextensions
 
再执行第二个命令,用于安装 javascript and css files
jupyter contrib nbextension install --user
 
最后执行,用于安装configurator
pip install jupyter_nbextensions_configurator
 
然后重新启动Jupyter Notebook后,就会发现已经有Nbextensions标签了。

 

我在anaconda navigator安装了notebook,但是启动不了,控制台jupyte  notebook有报错。解决报错重启anaconda就可以启动浏览器了。

经过实践发现conda安装和pip安装是有区别的。有时候这个不行换另外一个试试。


————————————————
 常用的插件:

  • Hinterland,代码自动补全

Code prettify:它能重新调整代码块内容的格式并进行美化。

Printview:这个扩展会添加一个工具栏按钮,可为当前笔记本调用 jupyter nbconvert,并可以选择是否在新的浏览器标签页显示转换后的文件。

Scratchpad:这会添加一个暂存单元,让你可以无需修改笔记本就能运行你的代码。当你想实验你的代码但不想改动你的实时笔记本时,这会是一个非常方便的扩展。

Table of Contents (2):这个很棒的扩展可以收集你的笔记本中的所有标题,并将它们显示在一个浮动窗口中。

这只是少量几个扩展。我强烈建议你查看完整扩展列表并实验它们的功能。

  • Collapsible headings
    放下/收起notebook的某些内容
  • Notify
    Notify功能就能在任务处理完后及时向你发送通知
  • Codefolding
    折叠代码
  • tqdm_notebook
    显示进度条

循环进度条

  • 插件网址:https://tqdm.github.io/
  • 插件用途:数据分析有时要操作循环,但 Jupyter Notebook 没有显示监控的功能,tqdm 这个插件就是用来监控循环进度的,很实用。
  • 代码示例:
from tqdm import tnrange, tqdm_notebook
%%time # 这个是计算操作时间的魔法命令
# 第一种方式
import numpy as np
from tqdm import tnrange, tqdm_notebook
a = []
for _ in tnrange(100,desc="第一个循环"):
    a.append(np.random.randn(1,1000))
# 第二种方式
import numpy as np
from tqdm import tnrange, tqdm_notebook
a = []
b = []
for _ in tqdm_notebook(range(1000),desc="第二个循环"):
    a.append(np.random.randn())
    b.append(np.random.randn())
 
vscode使用Jupyter Notebook
 
jupyter notebook打开页面报500错误:
 

用小结:
问题:jupyter notebook 打不开ipynb 文件,
页面报错500:internal Sever Error
这种编程环境千万记得,要不一定要搞懂彻底,要不一万年绝对不随便升级菜鸡软件,浏览器一万个要用谷歌啊!!!血的教训。
我就是手贱升级了自己的猎豹浏览器(当时刚入坑,不晓得谷歌的美)。
原因分析:
1.推荐先行将浏览器更换回谷歌(避免不必要的后续问题)
2.检查tornado的 版本(我的这个是版本太高,后来强制了降低版本才可以)
第一操作更换浏览器
Anaconda prompt 中输入jupyter notebook --generate-config 获得
jupyter\jupyter_notebook_config.py文件路径在这里插入图片描述
之后在在Notpad++(超级好用)中打开这个文件并用crtl+f中搜索NotebookApp.browser 在下一行添加,浏览器地址因人而异。
在下图中位置添加如下语句
import webbrowser
webbrowser.register(‘chrome’,None,webbrowser.GenericBrowser(r’C:\Program Files(x86)\Google\Chrome\Application\chrome.exe’))
c.NotebookApp.browser = ‘chrome’
在这里插入图片描述
完成了更改浏览器

第二步,可以先检查一下tornado的版本,版本过高或者出现安装问题都有可能导致这个问题,
可以在Anaconda prompt 中输入conda list 看到所有包的版本。
很可能会出现显示版本较低而使用版本高的情况,如下,可以继续先卸载在安装
在这里插入图片描述
之后为了进一步降低版本可以安装5.1.1版本(我的是这样,情况各不相同)
pip install tornado==5.1.1
就可以安装成功了,这个我是网上搜到的清华的源

相关的问题情况也可以参考如下链接,也有很多借鉴经验:
1.AttributeError: module ‘tornado.web’ has no attribute ‘asynchronous’
https://www.jianshu.com/p/35de9e2009c0
2.简单粗暴类
https://www.cnblogs.com/xxtalhr/p/10739036.html#_label0
3.其他问题
https://blog.csdn.net/weixin_41813895/article/details/81739502
https://www.cnblogs.com/wrnmb/p/10647928.html
https://stackoverflow.com/questions/36851746/jupyter-notebook-500-internal-server-error
4.Tornado介绍
http://demo.pythoner.com/itt2zh/index.html