Jupyter 总结

1. 远程映射

生成哈希密码(用ipython)

$ ipython   # 进入 ipython 环境

In [1]:    from IPython.lib import passwd
In [2]:    passwd()
Enter password:                                    # 输入密码
Verify password:                                   # 密码确认
Out [2]:   'sha1:717648cf4c2c:4c1ef6574f11795eba6ad3c0b122515ab25a8771'

添加隧道

类型(方向):  Local(Outgoing)
源主机:      localhost
侦听端口:     8888

目标主机:     192.168.3.114
目标端口:     8181

本地登陆

浏览器输入:localhost:8888

输入密码即可登陆

2. Jupyter

生成配置文件

~/.jupyter

$ jupyter notebook --generate-config

修改配置文件

~/.jupyter/jupyter_notebook_config.py

c.NotebookApp.ip = '192.168.3.114'  # 设置允许访问的IP (设为服务器IP) , 任意IP设为 "*"
c.NotebookApp.port = 8181   # 设置你的运行端口
c.NotebookApp.open_browser = False  # 运行 notebook 应用时不打开浏览器
c.NotebookApp.password = 'sha1:717648cf4c2c:4c1ef6574f11795eba6ad3c0b122515ab25a8771'   # 登陆密码,哈希密码
c.NotebookApp.notebook_dir = '/home/xieqi'  # 设置jupyter notebook的启动目录

kernel 管理

# 1. 查看 kernel
$ jupyter kernelspec list

# 2. 删除 kernel
$ jupyter kernelspec remove kernel_name

# 3. 添加 kernel
# ① 安装 ipykernel
$ pip install  ipykernel
$ conda install -n py2.7 ipykernel

# ② 添加到 jupyter
$ python -m ipykernel install --name kernel_name    # kernel_name是在jupyter中显示的名字
$ python -m ipykernel install --name kernel_name --user # 无root权限时,在用户目录下添加 kernel
$ python -m ipykernel install --user --name py2.7 --display-name "py2.7"

3. IPython

生成配置文件

~/.ipython

ipython profile create         

修改配置文件

~/.ipython/profile_default/ipython_config.py

c.InteractiveShellApp.matplotlib = 'inline' # Jupyter 中直接显示 Matplotlib 的图形

4. Error

问题 1

UnicodeEncodeError: 'ascii' codec can't encode character u'\u8888' in position 0: ordinal not in range(168)

ascii码无法被转换成unicode码,python默认编码为ascii格式,当读取格式为utf-8时,系统以ascii格式处理,所以报错。

解决办法:

python安装目录下的 lib\site-packages 文件夹下新建一个 sitecustomize.py,添加代码:

import sys
sys.setdefaultencoding('utf-8')

问题 2

jupyter notebook 中 print 无法打印输出

原因:

import sys
sys.setdefaultencoding("utf-8")
reload(sys)

用这种方式更改默认编码方式会出现此bug

解决办法:

更换修改默认编码的方法,使用此方法:python 安装目录下的 lib\site-packages 文件夹下新建一个 sitecustomize.py,添加代码:

import sys
sys.setdefaultencoding('utf-8')
Table of Contents