python自学PythonPython语言与信息数据获取和机器学习

jupyter 安装更换主题时各类问题及解决办法

2018-02-08  本文已影响14人  新手村的0级玩家

写在前面

jupyter的优点特点此处就不谈了,目前感觉到的一个比较明显的缺点就是 太亮了,工欲善其事必先利其器,为了更好的编(zhuang)码(B),所以想看看能不能修改一下样式,安装一个插件什么的,改变一下背景颜色和字体。

经查询,github上早有大神做过了这样的工作,那么就不需要重复造轮子了
此处先给出地址
https://github.com/dunovank/jupyter-themes

具体效果见github

1.安装更换步骤说明

具体的步骤github上其实给的很清晰直接
首先打开Anaconda Prompt

1.1安装

# install jupyterthemes
pip install jupyterthemes

# upgrade to latest version
pip install --upgrade jupyterthemes

1.2更换

# list available themes
# onedork | grade3 | oceans16 | chesterish | monokai | solarizedl | solarizedd
# 列出所有可用的主题
jt -l

# select theme...
# jt -t 主题名
jt -t chesterish

# restore default theme
# NOTE: Need to delete browser cache after running jt -r
# If this doesn't work, try starting a new notebook session.
# 恢复默认主题
jt -r

2.整个过程中遇见的问题及解决办法

2.1安装主题时超时

问题描述

可能是因为网速的问题,我在下载时特别慢,然后失败,报一大堆标红的错误,最后给出的结论是超时 ——ReadTimeoutError(具体的错误不粘出来了,太多)

解决方法一——蛮力法

换个网速好的环境
重新尝试下载安装

不要认为我是在搞笑,亲测有效,我就是在尝试了八九次之后安装成功的『无奈的笑哭,谁能阻挡一颗想要装十三的心』

解决办法二——加大超时时间

后来问了问度娘,发现了类似的 pip ReadTimeoutError问题 可以通过修改超时时间来解决

# 比如之前是
pip  install   『balabala』
# 修改为
pip --default-timeout=100    install   『balabala』

2.2更换主题时编码错误

问题描述

安装成功后,jt -l命令可以成功列出当前所有可用的主题

当前可用主题

但是,jt -t 主题名命令会失败
报出编码错误
(我电脑上Anaconda3的安装路径为E:\Soft\Anaconda3 )

Traceback (most recent call last):
  File "e:\soft\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "e:\soft\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\Soft\Anaconda3\Scripts\jt.exe\__main__.py", line 9, in <module>
  File "e:\soft\anaconda3\lib\site-packages\jupyterthemes\__init__.py", line 305, in main
    dfonts=args.defaultfonts)
  File "e:\soft\anaconda3\lib\site-packages\jupyterthemes\__init__.py", line 98, in install_theme
    nbname=nbname)
  File "e:\soft\anaconda3\lib\site-packages\jupyterthemes\stylefx.py", line 291, in style_layout
    style_less += notebook.read() + '\n'
UnicodeDecodeError: 'gbk' codec can't decode byte 0x8b in position 41271: illegal multibyte sequence

解决办法——指定编码为utf-8即可

(1)修改stylefx.py文件

该文件在 安装路径的 ...\anaconda3\lib\site-packages\jupyterthemes\

①将60行添加encoding='utf-8',即修改为:

    with open(tempfile, 'w', encoding='utf-8') as f:

②将290行添加encoding='utf-8',即修改为:

     with open(nb_style, 'r', encoding='UTF-8') as notebook:

(2)修改lexer.py文件

该文件在 安装路径的 ...anaconda\Lib\site-packages\lesscpy\lessc\

将474行添加encoding='utf-8',即修改为:

    with open(file, encoding='utf-8') as f:

至此,安装更换主题成功,贴出一张更换主题后的效果图


上一篇下一篇

猜你喜欢

热点阅读