美文网首页python自学PythonPython语言与信息数据获取和机器学习
jupyter 安装更换主题时各类问题及解决办法

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

作者: 新手村的0级玩家 | 来源:发表于2018-02-08 21:56 被阅读14次

    写在前面

    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:
    

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


    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/apkxtftx.html