安装(不要用root)

安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下

生成密码备用

ipython进入交互终端

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:xxxxxxxxxxxxxxxxxxxxxxxxx'

然后复制整个 sha1:67c9e60bb8b6:xxxxxxxxxxxxxxxxxxxxxxxxx

生成jupyter配置文件:

看一眼 ~/.jupyter/jupyter_notebook_config.py是否存在,默认情况下并不存在需要自行创建。使用jupyter notebook --generate-config命令生成配置文件:

设置配置文件,设置密码:

c.NotebookApp.ip='0.0.0.0'  #允许远程访问
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False #不打开浏览器
c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口228行
c.NotebookApp.allow_origin = '*' # 允许跨域访问

参考自

https://www.cnblogs.com/wu-chao/p/8419889.html

配置代码自动提示

安装nbextensions

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

如果上面失败,可以试试:jupyter contrib nbextension install --user --skip-running-check

win和mac参考下面:

windows

  • 1:确定是已经安装好anaconda
  • 2:要在anaconda prompt模式下运行(jupyter notebook打开)
  • 3:pip install jupyter_contrib_nbextensions(安装成功后,关掉jupyter notebook及相关网页,并重新打开,观察是否安装成功)
  • 4:如果发现依旧失败,则可进行此步骤,注意(jupyter notebook关闭)            

    进行配置:jupyter contrib nbextension install --user --skip-running-check
  • 5:安装完成后,重新启动jupyter notebook,“Nbextensions”出现在导航栏中,勾选目录。

macos

  • 1:确定是已经安装好anaconda
  • 2:要在Mac终端下运行,如何找到终端(启动台-其他-终端)
  • 3:先安装nbextensions依次输入运行下面代码:
    pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
  • 4:安装完成后,关终端,启动anaconda中的jupyter notebook,在主页中,可以看见Nbextensions标签页,选中Hinterland 就能使用代码补全了。
里面几个常用的插件
  • Table of Contents:更容易导航
  • Autopep8:轻轻一击就能获得简洁代码,相当于代码的格式化
  • variable inspector:跟踪你的工作空间
  • ExecuteTime:显示单元格的运行时间和耗时,后面在讲到magic里面有和他相似的内容功能

继续安装nbextensions_configurator

pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

如果提示缺少依赖,就使用pip安装对应依赖即可,conda环境不会报错。

重启jupyter,在弹出的主页面里,能看编辑-Nbextensions标签页,在这个页面里,勾选Hinterland即启用了代码自动补全

参考自

https://www.lefer.cn/posts/15473/

Notebook使用

  • 目录

  • 文件新建及导入导出

  • 菜单

  • 快捷键 [esc+h]

    jupyter常用的快捷键:

    选中单元格情况下:M----->markdown,Y------>code

    shift + Tab :查看方法中的参数

    双击D,删除当前的单元格(删除之后,Crtl + Z还原无效)

    插入一行:b(bellow),a(above)

    执行单元:Ctrl + Enter(运行本单元,选中本单元)

    shift + Enter(运行本单元,选中下一个单元)

    Alt + Enter(运行本单元,向下插入一个单元)

    更多魔法指令:%lsmagic查看

关于Magic命令

Notebook中的Magic开关

在jupyter的Code模式下,除了一般的python代码编辑外,jupyter还支持一些其他的编程语言,如R,Julia,bash等,不过需要使用magic单元。

  • 为实现一些快捷操作,提升效率。Notebook中提供了Magic开关,能极大得优化我们使用Notebook的体验。
  • Magic 开关分为两大类:%line magic(%表示magic只在本行有效) & %%cell magic(%%表示magic在整个cell单元有效)

例如:使用magic产生Linux下的shell环境,

%%bash
pwd && ls
## 表示一个可以修改内核选项ast_node_interactivity,使得jupyter对独占一行的所有变量都自动显示
%config ZMQInteractiveShell.ast_node_interactivity='all'
[In]
a = 2
n = 4
a
n
[Out]
2
4

查看代码运行时间

%time 一行
%%time 多行
%%timeit多行的平均时间

其他问题

  • 信任服务器笔记本需要点击件-信任代码(否则会404,无法执行),更多安全策略详见官方文档:

https://jupyter-notebook.readthedocs.io/en/latest/security.html#our-security-model

        location /api {
proxy_pass http://xx.xx.xx.xx:xxxx;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
  • nginx还需要配置一个请求体大小,否则很容易超限:

    在http{}中配置一个狠的: client_max_body_size 50m;

golang支持

jupyter notebook支持多语言,golang语言的jupyter需要一个kernel支持: https://github.com/gopherdata/gophernotes

但是这个kernel又依赖zeromq,所以:

梦想这样666:

https://www.jianshu.com/p/c82a2a21afcc

实际有坑,这么干:

https://segmentfault.com/a/1190000015674501

安装zeromq:

https://github.com/zeromq/zeromq4-x/branches

流程:

  • 去下载zeromq
  • 然后解压,
  • configure 指定--prefix=/usr/local/zeromq4.0.8
  • make make install
  • 配置环境变量,让系统找到那个包export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/zeromq4.0.8/lib/pkgconfig
  • 配置系统参数,让系统可以找到so,看上面第二个博客就ok

jupyter notebook安装/代码补全/支持golang 踩坑记的更多相关文章

  1. 关于Jupyter Notebook无法自动补全(Autocompletion),报错TypeError: __init__() got an unexpected keyword argument 'column' 的解决方案

    关于Jupyter Notebook无法自动补全(Autocompletion),报错TypeError: __init__() got an unexpected keyword argument ...

  2. [转载]Jupyter Notebook中自动补全代码

    原文地址:https://yq.aliyun.com/articles/667928 在公众号之前的文章中,已经介绍了在Jupyter Notebook中设置主题以及输出代码文件到pdf文件中,本文来 ...

  3. 如何为 Jupyter Notebook 安装代码提示功能

    按照上一篇博客安装完 Python 和 Jupyter Notebook 后,我们已经可以使用 Notebook 愉快的编写 Python 代码了,但是发现它不像其他编辑器那样会弹出代码提示,这稍微有 ...

  4. Vim使用Vundle安装代码补全插件(YouCompleteMe)

    安装 Vundle 它的使用方法很简单,安装一个插件只需要在 ~/.vimrc 按照规则中添加 Plugin 的名称,某些需要添加路径,之后在 Vim 中使用:PluginInstall既可以自动化安 ...

  5. jupyter notebook 安装代码提示功能

    我的是在anaconda中的root环境下运行以下命令,在其他环境下发现没有效果 1 pip install jupyter_contrib_nbextensions jupyter contrib ...

  6. jupyter lab最强代码补全插件

    1 简介 提起kite相信不少朋友都有印象,它是一个功能非常强大的代码补全工具,目前可用于Python与javascript,为许多知名的编辑器譬如Vs Code.Pycharm提供对应的插件. 图1 ...

  7. Jupyter Notebook主题字体设置及自动代码补全

    Jupyter Notebook用久了就离不开了,然而自带的主题真的不忍直视.为了视力着想,为了自己看起来舒服,于是折腾了一番..在github上发现了一个jupyter-themes工具,可以通过p ...

  8. 在Jupyter Notebook添加代码自动补全功能

    在使用Jupyter notebook时发现没有代码补全功能,于是在网上查找了一些资料,最后总结了以下内容. 1 安装显示目录功能: pip install jupyter_contrib_nbext ...

  9. Sublime text代码补全插件(支持Javascript、JQuery、Bootstrap框架)

    Sublime text代码补全插件(支持Javascript.JQuery.Bootstrap框架)   插件名称:javascript-API-Completions 支持Javascript.J ...

随机推荐

  1. Linux系统下x86和ARM的区别有哪些?

    问题: 最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少. 那么就很奇怪,在主频相差不大,并且实 ...

  2. Springboot+Mybatis整合PageHelper

    一.全部的gradle引入 // https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-sta ...

  3. git ssh 22 端口不可用时通过https 443 端口配置git ssh

    Using SSH over the HTTPS port Sometimes, firewalls refuse to allow SSH connections entirely. If usin ...

  4. [python] ThreadPoolExecutor线程池 python 线程池

    初识 Python中已经有了threading模块,为什么还需要线程池呢,线程池又是什么东西呢?在介绍线程同步的信号量机制的时候,举得例子是爬虫的例子,需要控制同时爬取的线程数,例子中创建了20个线程 ...

  5. tracert traceroute

    二者都用于探测数据包从源到目的经过路由的IP,但两者探测的方法却有差别.不同点:一.应用环境不同tracert是应用在windows下.traceroute则是应用在linux/BSD/router/ ...

  6. 将基于Nullable<T>的类型转换实现在扩展方法中

    三.将基于Nullable<T>的类型转换实现在扩展方法中 从上面的介绍我们可以得出这样的结论:如果类型T1和T2能够相互兼容,我们可以借助Convert将T1类型对象转换成T2类型,然后 ...

  7. java字符串池和字符串堆内存分配

    1. String str=new String("abc")和String str="abc"的字符串“abc”都是存放在堆中,而不是存在 栈中. 2. 其实 ...

  8. EgretPaper学习笔记一 (安装环境,新建项目)

    参考: 官方Egret3D教程 白鹭引擎5.3.0正式发布,支持3D游戏开发 一 下载安装EgretPaper Egret3D 编辑器的开发代号为“Paper”,于2018年9月份开始小规模内测,并在 ...

  9. 【C++语法基础】实验1

    实验内容: 题目:输入 1~7 的整数,如果输入的是 1~5,则输出“workday. Let’s work hard”:如果输入的是 6~7,则输出“weekend. Let’s have a re ...

  10. 矩阵取数问题(dp,高精)

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n×mn \times mn×m的矩阵,矩阵中的每个元素ai,ja_{i,j}ai,j​均为非负整数.游戏规则如下: 每次取数时须从每行各取走 ...