为Jupyter notebook增加新的kernel

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baoqiaoben/article/details/82912189

在初学python的时候被pip、conda、anaconda、jupyter的关系搞的很头大。差不多了解了conda的威力之后,发现虽然使用conda create可以创建很多不同的python环境,但是在使用jupyter notebook时并不能直接使用这些环境,jupyter提供的kernel还是默认的环境。下面介绍如何将一个新建的环境加入到jupyter中作为一个新的kernel。


创建一个新环境

使用conda创建一个新的环境,然后进入新环境,我这里以hello为例子

babao@babao:~$ conda create -n hello python=3.6
babao@babao:~$ source activate hello
(hello) babao@babao:~$ 

安装必要的库

其中 ipykernel 是必须安装的,也可以直接安装 jupyter ,会自动包含 ipykernel

(hello) babao@babao:~$ conda install ipykernel

创建新kernel

(hello) babao@babao:~$ sudo python -m ipykernel install --name hello

使用 sudo 提升权限之后,python会自动调用系统环境下的python,而不是当前环境下的python。如果系统环境下的python没有安装 ipykernel ,则会创建失败,给出以下提示

/usr/bin/python: No module named ipykernel

有两个解决办法

  1. 在系统环境下安装 ipykernel
  2. 使用当前环境的python

方法2中为了得到当前环境的python路径,可以用 which 命令查看

(hello) babao@babao:~$ which python
/home/babao/anaconda3/envs/hello/bin/python

将之前的命令改为用当前环境下的python执行

(hello) babao@babao:~$ sudo /home/babao/anaconda3/envs/hello/bin/python -m ipykernel install --name hello
Installed kernelspec hello in /usr/local/share/jupyter/kernels/hello

成功添加kernel后就可以在jupyter notebook中使用

在这里插入图片描述


一些其他常用命令

查看当前可用的kernel

babao@babao:~$ jupyter kernelspec list

删除kernel

babao@babao:~$ sudo jupyter kernelspec remove hello

同样的原因,因为使用了 sudo 提升权限,如果在系统环境下找不到jupyter,则可以指定jupyter的路径

展开阅读全文

Jupyter Notebook的主题编码问题

02-10

最近因为jupyter notebook的白色原装界面太难看了,特别是字体。然后,就install nJupyter themes; 一切都OK,themes也下载下来了,进行 jt -l 也是没问题的,正常n显示出了已经有的各个主题了。n最后,进行 jt -t 主题名 启用时,报错了。无法切换主题:nn(C:\Users\Administrator\Anaconda3) C:\Users\Administrator>jt -lnAvailable Themes:n chesterishn grade3n gruvboxdn gruvboxln monokain oceans16n onedorkn solarizeddn solarizedlnn(C:\Users\Administrator\Anaconda3) C:\Users\Administrator>jt -t grade3nTraceback (most recent call last):n File "c:\users\administrator\anaconda3\lib\runpy.py", line 193, in _run_module_as_mainn "__main__", mod_spec)n File "c:\users\administrator\anaconda3\lib\runpy.py", line 85, in _run_coden exec(code, run_globals)n File "C:\Users\Administrator\Anaconda3\Scripts\jt.exe\__main__.py", line 9, in n File "c:\users\administrator\anaconda3\lib\site-packages\jupyterthemes\__init__.py", line 307, in mainn dfonts=args.defaultfonts)n File "c:\users\administrator\anaconda3\lib\site-packages\jupyterthemes\__init__.py", line 103, in install_themen style_css = stylefx.less_to_css(style_less)n File "c:\users\administrator\anaconda3\lib\site-packages\jupyterthemes\stylefx.py", line 63, in less_to_cssn style_css = lesscpy.compile(tempfile)n File "c:\users\administrator\anaconda3\lib\site-packages\lesscpy\__init__.py", line 18, in compilen p.parse(file=file)n File "c:\users\administrator\anaconda3\lib\site-packages\lesscpy\lessc\parser.py", line 154, in parsen file, lexer=self.lex, debug=debuglevel)n File "c:\users\administrator\anaconda3\lib\site-packages\ply\yacc.py", line 331, in parsen return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)n File "c:\users\administrator\anaconda3\lib\site-packages\ply\yacc.py", line 1024, in parseopt_notrackn lexer.input(input)n File "c:\users\administrator\anaconda3\lib\site-packages\lesscpy\lessc\lexer.py", line 475, in inputn self.lexer.input(f.read())nUnicodeDecodeError: 'gbk' codec can't decode byte 0x8b in position 44256: illegal multibyte sequencen 问答

没有更多推荐了,返回首页