1. 程式人生 > >jupyter 安裝更換主題時各類問題及解決辦法

jupyter 安裝更換主題時各類問題及解決辦法

寫在前面

jupyter的優點特點此處就不談了,目前感覺到的一個比較明顯的缺點就是 太亮了,工欲善其事必先利其器,為了更好的編(zhuang)碼(B),所以想看看能不能修改一下樣式,安裝一個外掛什麼的,改變一下背景顏色和字型。

具體效果見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:

至此,安裝更換主題成功,貼出一張更換主題後的效果圖