เปลี่ยนธีมใน Jupyter Notebook หรือไม่


204

ฉันชอบธีมสีเข้ม อย่างไรก็ตามชุดรูปแบบเริ่มต้นของสมุดบันทึก Jupyter มีน้ำหนักเบาและฉันไม่พบตัวเลือกในการเปลี่ยนชุดรูปแบบ / พื้นหลังสี สิ่งนี้ทำได้อย่างไร


คำตอบ:


286

นี่เป็นเรื่องง่ายที่จะทำโดยใช้jupyter-themesแพ็คเกจโดย Kyle Dunovan condaคุณอาจจะสามารถติดตั้งได้โดยใช้ pipมิฉะนั้นคุณจะต้องใช้

ติดตั้งด้วย conda:

conda install jupyterthemes

หรือ pip

pip install jupyterthemes

จากนั้นเปลี่ยนธีมของคุณด้วย

jt -t chesterish

เมื่อต้องการโหลดชุดรูปแบบ chesterish หรืออื่น ๆ สุดท้ายให้โหลดหน้าซ้ำ เอกสารและรหัสต้นฉบับอยู่ที่นี่: https://github.com/dunovank/jupyter-themes


29
หมายเหตุ - ฉันต้องรีสตาร์ทเซิร์ฟเวอร์ jupyter เพื่อให้ใช้งานได้
อาเมียร์ F

9
เป็นครั้งแรกที่คุณอาจต้องรีสตาร์ทสิ่งjupyter notebookนี้เพื่อให้ทำงานได้ แต่ในครั้งต่อไปเพียงแค่เปลี่ยนjt -t <themes>เทอร์มินัลและโหลดหน้าโน๊ตบุ๊คใหม่ มันทำงานแบบนี้กับฉัน
iNet

10
jupyterthemesไม่ได้อยู่ใน conda ไม่ได้อยู่ใน conda-forge วิธีเดียวที่จะติดตั้งได้คือผ่านpipเท่านั้น
Mohammad Hizzani

13
ฉันประสบความสำเร็จกับ conda หลังจากเพิ่มช่อง conda-forge conda config --add channels conda-forge
Ernest

11
หากjupyterthemesอยู่ในเงื่อนไขคำตอบควรบอกว่าconda install jupyterthemes -c conda-forgeจำเป็นหรือลาออกจากการแนะนำให้ติดตั้งด้วย conda
mmagnuski

92

ทำตามขั้นตอนเหล่านี้: -

pip ติดตั้งธีม

pip install jupyterthemes

จากนั้นเลือกชุดรูปแบบจากรายการต่อไปนี้และตั้งค่าโดยใช้คำสั่งต่อไปนี้เมื่อคุณติดตั้งสำเร็จเราหลายคนคิดว่าเราต้องเริ่มต้นเซิร์ฟเวอร์ jupyter อีกครั้งเพียงรีเฟรชหน้า กำหนดธีมโดย

jt -t <theme-name>

รายการของชื่อชุดรูปแบบ

  • onedork
  • grade3
  • oceans16
  • chesterish
  • monokai
  • solarizedl
  • solarizedd

1
รายการสองสิ่ง: 1. ความไม่ลงรอยกันในการเริ่มต้นเซิร์ฟเวอร์ jupyter 2. คำสันธานของชื่อธีม
Sahil Nagpal

7
สิ่งนี้ไม่รับประกันคำตอบใหม่จริงๆ เพียงแก้ไขเล็กน้อยเพื่อแก้ไขที่มีอยู่
Jean-François Corbett

5
นอกจากนี้ยังมีการขยายโครเมี่ยมสำหรับการนี้ โดยทั่วไปแล้วจะทำสิ่งเดียวกัน แต่ไม่มีการโต้ตอบกับเทอร์มินัล
iNet

2
ธีมคลาสสิกชื่ออะไร? ถ้าฉันต้องการเปลี่ยนกลับไปใช้คลาสสิกดั้งเดิมหรือไม่
ZelelB

3
เพื่อความสมบูรณ์นอกเหนือจากรายการที่ปรากฏรายการเหล่านี้ 2 ยังมีอยู่: gruvboxd, gruvboxl ณ วันที่มกราคม 2019
subtleseeker

51

หลังจากที่ฉันเปลี่ยนธีมมันก็ดูแปลก ๆ ขนาดตัวอักษรเล็กไม่สามารถมองเห็นแถบเครื่องมือและฉันไม่ชอบรูปลักษณ์ใหม่

สำหรับผู้ที่ต้องการกู้คืนธีมดั้งเดิมคุณสามารถทำได้ดังนี้:

jt -r

คุณต้องรีสตาร์ท Jupyter ในครั้งแรกที่คุณทำและรีเฟรชในภายหลังเพียงพอที่จะเปิดใช้งานธีมใหม่

หรือโดยตรงจากภายในโน้ตบุ๊ค

!jt -r

4
ขอชื่นชมวิธีการคืนค่าธีมดั้งเดิม
Briford Wylie

28

คุณสามารถทำได้โดยตรงจากสมุดบันทึกที่เปิดอยู่:

!pip install jupyterthemes
!jt -t chesterish

คุณไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ jupyter เพื่อให้สิ่งนี้มีผล
drevicko

จริงฉันต้องรีสตาร์ทเคอร์เนลถ้าฉันจำได้ถูกต้อง
Amir F

20

แทนที่จะติดตั้งห้องสมุดภายใน Jupyter ฉันขอแนะนำให้คุณใช้ส่วนขยาย 'Dark Reader' https://chrome.google.com/webstore/detail/dark-reader/eimadpbcbfnmbkopoojfekhfekhnkhdbieehใน Chrome (คุณสามารถหาส่วนขยาย 'Dark Reader' ได้ ในเบราว์เซอร์อื่นเช่น Firefox) คุณสามารถเล่นกับมัน กรอง URL ที่คุณต้องการให้มีชุดรูปแบบสีเข้มหรือแม้แต่วิธีกำหนดชุดรูปแบบเข้มสำหรับตัวคุณเอง ด้านล่างเป็นตัวอย่างสองตัวอย่าง:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ฉันหวังว่ามันจะช่วย Behrouz


ฉันคิดว่านี่เป็นวิธีที่ดีที่สุดเพราะเรามักจะต้องการชุดรูปแบบสีเข้มซึ่งให้และยิ่งกว่านั้นมันเป็นเรื่องง่ายที่จะตรวจสอบภาพที่แท้จริงของเอกสารที่เรากำลังสร้างโดยการคลิกเพียงครั้งเดียว (สำคัญ ณ เวลาเผยแพร่)
M. Doosti Lakhani

ใช่ ... ทุกอย่างดีและดี แต่ Dark Reader ไม่รู้ว่าสมุดบันทึก jupyter ควรใช้คำพูด ไม่มีการกำหนดสีให้กับไวยากรณ์ซึ่งทำให้ตัวเลือกนี้ไม่มีสี
darlove

@darlove, เท่าที่ผมได้ทำงานร่วมกับมันมี 'ไวยากรณ์ระบายสี' มี (เช่น 'ห่วง' ไวยากรณ์มีสีเดียวกันตลอดทั้งรหัสของคุณ.
Behrouz Beheshti

ฉันไม่รู้เกี่ยวกับคุณ แต่ Dark Reader กำลังเน้นไวยากรณ์ของฉันได้ดี นอกจากนี้ส่วนขยายนี้เป็นเครื่องช่วยชีวิต ..... ในที่สุดบางสิ่งบางอย่างที่สามารถทำให้ Stack Overflow มืดลงได้!
นาตาลี

1
แม้ว่าจะมีปัญหาหนึ่งเรื่อง หากคุณลองเลือกอักขระสองสามตัวโดยใช้เมาส์การเลือกจะไม่ปรากฏบนพื้นหลังสีดำ
kaushalpranav

7

ในการติดตั้งแพ็คเกจ Jupyterthemes โดยตรงกับ conda ให้ใช้:

conda install -c conda-forge jupyterthemes

จากนั้นเมื่อคนอื่น ๆ ชี้ให้เปลี่ยนธีมด้วย jt -t <theme-name>


6

การเปลี่ยนแปลงขนาดตัวอักษร Jupyter ทั่วโลกง่าย ๆ และสีพื้นหลังด้านในและด้านนอก (การเปลี่ยนแปลงนี้จะส่งผลกระทบต่อโน้ตบุ๊กทั้งหมด)

ใน Windows ค้นหาไดเร็กทอรี config โดยการรันคำสั่ง: jupyter --config-dir

ในลีนุกซ์นั้นก็คือ ~/.jupyter

ในไดเรกทอรีนี้สร้างโฟลเดอร์ย่อยcustom สร้างไฟล์custom.cssและวาง:

/* Change outer background and make the notebook take all available width */
.container {
    width: 99% !important;
    background: #DDC !important;
}   

/* Change inner background (CODE) */
div.input_area {
    background: #F4F4E2 !important;
    font-size: 16px !important;
}

/* Change global font size (CODE) */
.CodeMirror {
    font-size: 16px !important;
}  

/* Prevent the edit cell highlight box from getting clipped;
 * important so that it also works when cell is in edit mode */
div.cell.selected {
    border-left-width: 1px !important;
} 

ในที่สุด - รีสตาร์ท Jupyter ผลลัพธ์:

พื้นหลังสีเข้ม


โปรดทำอย่างไรจึงจะยกเลิกได้
Aminu Kano

1
ลบไฟล์ที่คุณสร้าง (custom.css) และรีสตาร์ท Jupyter
rafal chlopek

ใช้งานได้ แต่ฉันต้องล้างแคชเบราว์เซอร์ของฉันด้วย
Aminu Kano

5

คุณสามารถทำตามขั้นตอนเหล่านี้

  1. pip install jupyterthemesหรือpip install --upgrade jupyterthemesเพื่ออัปเกรดเป็นธีมเวอร์ชันล่าสุด
  2. หลังจากนั้นเพื่อแสดงรายการธีมทั้งหมดที่คุณมี:jt -l
  3. หลังจากนั้นjt-t <themename>เป็นต้นjt -t solarizedl

4
conda install jupyterthemes

ไม่ได้ผลสำหรับฉันใน Windows ฉันใช้อนาคอนด้า

แต่,

pip install jupyterthemes

ทำงานใน Anaconda Prompt


7
คุณต้องระบุคอลเลคชั่นที่ถูกต้องสำหรับ conda:conda install -c conda-forge jupyterthemes
Philip Roland Jarnhus

2

โซลูชันที่สมบูรณ์ของฉัน:

1) รับ Dark Reader บนโครเมี่ยมซึ่งไม่เพียงให้คุณได้รับ Dark Theme ที่ยอดเยี่ยมสำหรับ Jupyter แต่สำหรับทุก ๆ เว็บไซต์ที่คุณต้องการ (คุณสามารถเล่นกับฟิลเตอร์ต่าง ๆ ได้ฉันใช้ Dynamic)

2) วางรหัสบรรทัดเหล่านั้นลงในสมุดบันทึกของคุณเพื่อให้ตำนานและแกนปรากฏให้เห็น:

from jupyterthemes import jtplot
jtplot.style(theme='monokai', context='notebook', ticks=True, grid=False)

คุณพร้อมสำหรับการเข้ารหัสดิสโก้คืนแล้ว!


1

สำหรับโหมดมืดเท่านั้น: -

ฉันใช้ตัวอักษร Raleway เพื่อการออกแบบ

ถึงC: \ User \ ชื่อผู้ใช้ \ .jupyter \ custom \ custom.css

ต่อท้ายสไตล์ที่กำหนดนี่เป็นเฉพาะสำหรับ Dark Mode สำหรับโน๊ตบุ๊ค jupyter ...

นี่ควรเป็นไฟล์ custom.css ปัจจุบันของคุณ: -

/* This file contains any manual css for this page that needs to override the global styles.
    This is only required when different pages style the same element differently. This is just
    a hack to deal with our current css styles and no new styling should be added in this file.*/

#ipython-main-app {
    position: relative;
}

#jupyter-main-app {
    position: relative;
}

เนื้อหาที่จะต่อท้ายเริ่มตั้งแต่ตอนนี้

.header-bar {
    display: none;
}

#header-container img {
    display: none;
}

#notebook_name {
    margin-left: 0px !important;
}

#header-container {
    padding-left: 0px !important
}

html,
body {
    overflow: hidden;
    font-family: OpenSans;
}

#header {
    background-color: #212121 !important;
    color: #fff;
    padding-top: 20px;
    padding-bottom: 50px;
}

.navbar-collapse {
    background-color: #212121 !important;
    color: #fff;
    border: none !important
}

#menus {
    border: none !important;
    color: white !important;
}

#menus .dropdown-toggle {
    color: white !important;
}

#filelink {
    color: white !important;
    text-align: centerimportant;
    padding-left: 7px;
    text-decoration: none !important;
}

.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:hover,
.navbar-default .navbar-nav>.open>a:focus {
    background-color: #191919 !important;
    color: #eee !important;
    text-align: left !important;
}

.dropdown-menu,
.dropdown-menu a,
.dropdown-submenu a {
    background-color: #191919;
    color: #fff !important;
}

.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus,
.dropdown-submenu>a:after {
    background-color: #212121;
    color: #fff !important;
}

.btn-default {
    color: #fff !important;
    background-color: #212121 !important;
    border: none !important;
}

.dropdown {
    text-align: left !important;
}

.form-control.select-xs {
    background-color: #191919 !important;
    color: #eee !important;
    border: none;
    outline: none;
}

#modal_indicator {
    display: none;
}

#kernel_indicator {
    color: #fff;
}

#notification_trusted,
#notification_notebook {
    background-color: #212121;
    color: #eee !important;
    border: none;
    border-bottom: 1px solid #eee;
}

#logout {
    background-color: #191919;
    color: #eee;
}

#maintoolbar-container {
    padding-top: 0px !important;
}

.notebook_app {
    background-color: #222222;
}

::-webkit-scrollbar {
    display: none;
}

#notebook-container {
    background-color: #212121;
}

div.cell.selected,
div.cell.selected.jupyter-soft-selected {
    border: none !important;
}

.cm-keyword {
    color: orange !important;
}

.input_area {
    background-color: #212121 !important;
    color: white !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.cm-def {
    color: #5bc0de !important;
}

.cm-variable {
    color: yellow !important;
}

.output_subarea.output_text.output_result pre,
.output_subarea.output_text.output_stream.output_stdout pre {
    color: white !important;
}

.CodeMirror-line {
    color: white !important;
}

.cm-operator {
    color: white !important;
}

.cm-number {
    color: lightblue !important;
}

.inner_cell {
    border: 1px thin #eee;
    border-radius: 50px !important;
}

.CodeMirror-lines {
    border-radius: 20px;
}

.prompt.input_prompt {
    color: #5cb85c !important;
}

.prompt.output_prompt {
    color: lightblue;
}

.cm-string {
    color: #6872ac !important;
}

.cm-builtin {
    color: #f0ad4e !important;
}

.run_this_cell {
    color: lightblue !important;
}

.input_area {
    border-radius: 20px;
}

.output_png {
    background-color: white;
}

.CodeMirror-cursor {
    border-left: 1.4px solid white;
}

.box-flex1.output_subarea.raw_input_container {
    color: white;
}

input.raw_input {
    color: black !important;
}

div.output_area pre {
    color: white
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: white !important;
    font-weight: bolder !important;
}

.CodeMirror-gutter.CodeMirror-linenumber,
.CodeMirror-gutters {
    background-color: #212121 !important;
}


span.filename:hover {
    color: #191919 !important;
    height: auto !important;
}

#site {
    background-color: #191919 !important;
    color: white !important;
}

#tabs li.active a {
    background-color: #212121 !important;
    color: white !important;
}

#tabs li {
    background-color: #191919 !important;
    color: white !important;
    border-top: 1px thin #eee;
}

#notebook_list_header {
    background-color: #212121 !important;
    color: white !important;
}

#running .panel-group .panel {
    background-color: #212121 !important;
    color: white !important;
}

#accordion.panel-heading {
    background-color: #212121 !important;
}

#running .panel-group .panel .panel-heading {
    background-color: #212121;
    color: white
}

.item_name {
    color: white !important;
    cursor: pointer !important;
}

.list_item:hover {
    background-color: #212121 !important;
}

.item_icon.icon-fixed-width {
    color: white !important;
}

#texteditor-backdrop {
    background-color: #191919 !important;
    border-top: 1px solid #eee;
}

.CodeMirror {
    background-color: #212121 !important;
}

#texteditor-backdrop #texteditor-container .CodeMirror-gutter,
#texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #212121 !important;
}

.celltoolbar {
    background-color: #212121 !important;
    border: none !important;
}

Dark Mode สำหรับ Jupyter Notebook

Dark Mode สำหรับ Jupyter Notebook

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.