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')