摘要:顯示中文此外,多帶帶拎出來(lái)的另一個(gè)原因是,還有一個(gè)中文顯示的問(wèn)題。首先我們來(lái)看可以使用的字體你應(yīng)該看到下面這樣的表格然后找到支持中文的字體名,然后設(shè)置的默認(rèn)字體當(dāng)然,你可以添加到剛才的配置中,或者采用這個(gè)博客的方法。
又到擺脫重復(fù)工作,換個(gè)心情,然而并沒(méi)有軟用的時(shí)間了。這次,教大家如何搭建一個(gè)好看的jupyter環(huán)境。
安裝Jupyter先來(lái)展示一下我的環(huán)境
python: 3.5.*
macos: 10.12.4
安裝Jupyter的過(guò)程只需安裝Anaconda即可。
測(cè)試一下初始設(shè)置:
jupyter notebook配置ipython
首先,如果每次你打開(kāi)一個(gè)nb(notebook)時(shí),如果都需要載入一些模塊,一個(gè)很好地方法就是配置ipython的配置文件,可以直接使用以下命令創(chuàng)建配置文件:
ipython profile create
此時(shí)你會(huì)在~/.ipython/profile_default/目錄中獲得下面兩個(gè)文件:
ipython_config.py:打開(kāi)任意ipython kernel時(shí)都會(huì)運(yùn)行
ipython_notebook_config.py:打開(kāi)notebook時(shí)會(huì)運(yùn)行
配置方式是在所需要的配置文件中先鍵入:
c = get_config()
然后就可以通過(guò)修改c的屬性來(lái)控制所有的配置。
顯然,對(duì)大多數(shù)分析場(chǎng)景,numpy, scipy, pandas是肯定要載入的,因此,寫(xiě)到配置中即可:
c.InteractiveShellApp.exec_lines = [ "import pandas as pd", "import numpy as np", "import scipy.stats as spstats", "import scipy as sp", ]配置matplotlib
還有一個(gè)常用功能就是matplotlib。matplotlib在notebook中需要使用
%matplotlib inline
才可默認(rèn)在notebook中顯示圖像,一個(gè)簡(jiǎn)單地方法就是在配置文件中加入,
c.IPKernelApp.matplotlib = "inline"
當(dāng)然,默認(rèn)也需要載入matplotlib
c.InteractiveShellApp.exec_lines = [ "import pandas as pd", "import numpy as np", "import scipy.stats as spstats", "import scipy as sp", "import matplotlib.pyplot as plt" ]
當(dāng)然,也可以更多。但這樣可能會(huì)影響初始化notebook和ipython shell的速度,這個(gè)請(qǐng)大家自己權(quán)衡。
matplotlib顯示中文此外,多帶帶拎matplotlib出來(lái)的另一個(gè)原因是,matplotlib還有一個(gè)中文顯示的問(wèn)題。
首先,解決編碼問(wèn)題。
python 2.7.*的解決方案是,在配置中加入:
import seaborn as sns import sys# print sys.getdefaultencoding()# ipython notebook中默認(rèn)是ascii編碼 reload(sys) sys.setdefaultencoding("utf8")
python 3.*出于某些原因,不建議通過(guò)sys模塊修改編碼,原因參見(jiàn)這里。
解決方案是,在shell的配置中重新設(shè)置配置變量(bash的話(huà)設(shè)置文件.bashrc,zsh則設(shè)置文件.zshrc)。方法是末尾添加:
export PYTHONIOENCODING="utf8"
當(dāng)然另一個(gè)方法是在啟動(dòng)notebook時(shí)使用
PYTHONIOENCODING="utf8" & jupyter notebook
第二個(gè)是修改matplotlib的默認(rèn)字體。
首先我們來(lái)看可以使用的字體
import matplotlib.font_manager fonts = matplotlib.font_manager.findSystemFonts() l = [] for f in fonts: try: font =matplotlib.font_manager.FontProperties(fname=f) #print(font.get_family()) l.append((f, font.get_name(), font.get_family(), font.get_weight())) except: pass df = pd.DataFrame(l, columns=["path", "name", "family", "weight"]) df
你應(yīng)該看到下面這樣的表格:
然后找到支持中文的字體名,然后設(shè)置matplotlib的默認(rèn)字體:
import matplotlib as mpl mpl.rc("font", family="Noto Sans CJK SC")
當(dāng)然,你可以添加到剛才的配置中,或者采用這個(gè)博客的方法。
此外,如果你使用seaborn的話(huà),seaborn在設(shè)置配置時(shí)可能會(huì)覆蓋掉matplotlib,此時(shí)采用以下代碼即可:
import seaborn as sns sns.set_style("ticks", { "font.family": ["Noto Sans CJK SC"], })
但是,該語(yǔ)句不建議寫(xiě)在配置中,因?yàn)榻?jīng)常需要修改,可能會(huì)覆蓋之前的配置。
matplotlib在Retina屏幕中顯示模糊問(wèn)題直接使用下面語(yǔ)句即可,
%config InlineBackend.figure_format = "retina"
當(dāng)然也可在配置中直接加入
c.InlineBackend.figure_format = "retina"修改notebook樣式
默認(rèn)的notebook可以逼你心中大喊WTF,這時(shí)候你需要一點(diǎn)CSS技能,修改~/.jupyter/custom/custom.css的內(nèi)容。
個(gè)人認(rèn)為最需要修改的內(nèi)容包括
notebook的默認(rèn)寬度:notebook默認(rèn)比較寬,markdown文字會(huì)顯得比較少,如果需要對(duì)外展示,文字部分會(huì)過(guò)少。
notebook的代碼字體
我的修改規(guī)則是:
pre.CodeMirror-line { font-family: "BlinkMacSystemFont", "Lucida Grande", "Segoe UI", Ubuntu, Cantarell, sans-serif } .output_subarea.output_text.output_result>pre { font-family: "BlinkMacSystemFont", "Lucida Grande", "Segoe UI", Ubuntu, Cantarell, sans-serif } .output_subarea.output_text.output_stream.output_stdout>pre { font-family: "BlinkMacSystemFont", "Lucida Grande", "Segoe UI", Ubuntu, Cantarell, sans-serif } #notebook-container { max-width: 830px; padding: 40px; }安裝Jupyter常用插件
這里推薦兩個(gè)jupyter插件:
插件管理器jupyter notebook extensionsgithub地址在這里。安裝和介紹也可以參考。
然后你就可以在jupyter主頁(yè)里找到下面的標(biāo)簽頁(yè)管理插件了:
jupyter Dashboard如果你的jupyter服務(wù)是搭建在主機(jī)上,并且平時(shí)和業(yè)務(wù)人員想用notebook地址的方式交付,jupyter dashboard插件是一個(gè)不錯(cuò)的選擇。
安裝方法和github地址在這里。
原本效果如下:
點(diǎn)擊如下紅色設(shè)置,并點(diǎn)擊黃色按鈕后
就可得到如下的報(bào)告形式(刪去了業(yè)務(wù)人員不想查看的代碼),然后就可以粘貼連接交付報(bào)告了:
切換成dashboard模式可以拖拽相關(guān)方格來(lái)設(shè)置位置。
安裝R kernelR kernel安裝方式有兩個(gè):
通過(guò)conda安裝conda create -n R-Env -c r r-essentials source activate R-Env conda install jupyter
然后在R中配置
install.packages(c("repr", "IRdisplay", "evaluate", "crayon", "pbdZMQ", "devtools", "uuid", "digest")) devtools::install_github("IRkernel/IRkernel") IRkernel::installspec()
建議一定要新建環(huán)境,不然會(huì)和你之前安裝的R沖突。
當(dāng)然,我不建議這種安裝方式,原因是:
不是很多人想在電腦里有兩個(gè)R環(huán)境
在jupyter notebook中不配置默認(rèn)鏡像,是沒(méi)法選擇鏡像的,這導(dǎo)致沒(méi)法再notebook中直接安裝R包,當(dāng)然你也可以配置好默認(rèn)CRAN鏡像,但這樣顯然很麻煩,切換網(wǎng)絡(luò)環(huán)境后也很難調(diào)整
可能你在舊環(huán)境中已經(jīng)安裝了大量包,這樣子遷移成為問(wèn)題
你必須在這個(gè)新環(huán)境中啟動(dòng)jupyter
直接使用原本安裝直接在R環(huán)境中使用以下語(yǔ)句
install.packages(c("repr", "IRdisplay", "evaluate", "crayon", "pbdZMQ", "devtools", "uuid", "digest")) devtools::install_github("IRkernel/IRkernel") IRkernel::installspec() IRkernel::installspec(user = FALSE)設(shè)置Jupyter服務(wù)配置
這里請(qǐng)做個(gè)區(qū)別:ipython是負(fù)責(zé)和python交互的部分,jupyter是作為服務(wù)的部分。因此所有服務(wù)配置都要在~/.jupyter中進(jìn)行,而和python、模塊相關(guān)的配置都要在~/.ipython中。
這里主要配置的有ip和默認(rèn)文件夾。
首先,生成配置文件:
jupyter notebook --generate-config
現(xiàn)在~/.jupyter/內(nèi)就生成jupyter_notebook_config.py文件。
再次我們?cè)O(shè)置ip,在其中添加,這樣就可以外網(wǎng)訪(fǎng)問(wèn)。
NotebookApp.ip = "127.0.0.1"
最后,加上默認(rèn)啟動(dòng)位置,這樣,在任何工作目錄下都能保證,notebook的啟動(dòng)位置一致。
NotebookApp.notebook_dir = "/jupyter"
大功告成,現(xiàn)在開(kāi)工!
==================================
更新日志
2017-5-10
增加R kernel安裝討論
增加jupyter服務(wù)配置
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/44341.html
摘要:讀完本文,你將學(xué)會(huì)如何使用靜態(tài)網(wǎng)站生成器,搭建一個(gè)屬于自己的博客,用來(lái)展示數(shù)據(jù)科學(xué)作品。靜態(tài)網(wǎng)站基本上,一個(gè)靜態(tài)網(wǎng)站就是一個(gè)全是文件的文件夾。建立靜態(tài)網(wǎng)站的一種方法是手寫(xiě),然后上傳所有的文件到服務(wù)器。 這是「打造數(shù)據(jù)科學(xué)作品集」系列文章的第二篇。如果你喜歡該系列,而且想知道下一篇文章什么時(shí)候發(fā)布,你可以訂閱我們。讀完本文,你將學(xué)會(huì)如何使用 Pelican 靜態(tài)網(wǎng)站生成器,搭建一個(gè)屬于...
摘要:連接遠(yuǎn)程環(huán)境作為一個(gè)小巧的,使用方便的編輯器,受到許多初學(xué)者的喜愛(ài)考慮到本地配置的限制,往往想要調(diào)用遠(yuǎn)程服務(wù)器中的,下文記錄下查閱網(wǎng)上資料嘗試的步驟遠(yuǎn)程服務(wù)器中安裝本文使用的遠(yuǎn)程服務(wù)器是,系首先,你的服務(wù)器中需要安裝,,此處不贅述由 連接遠(yuǎn)程jupyter notebook ----windows環(huán)境 jupyter notebook作為一個(gè)小巧的,使用方便的python編輯器,受到許...
摘要:本文作者詳細(xì)描述了自己組裝深度學(xué)習(xí)服務(wù)器的過(guò)程,從主板電源機(jī)箱等的選取到部件的安裝,再到服務(wù)器的設(shè)置,可謂面面俱到。注本文旨在討論服務(wù)器設(shè)置及多用戶(hù)協(xié)作,部件組裝和軟件安裝過(guò)程是關(guān)于創(chuàng)建自己的的文章的簡(jiǎn)化版本。本文作者詳細(xì)描述了自己組裝深度學(xué)習(xí)服務(wù)器的過(guò)程,從 CPU、GPU、主板、電源、機(jī)箱等的選取到部件的安裝,再到服務(wù)器的設(shè)置,可謂面面俱到。作者指出,組裝者首先要弄清自己的需求,然后根據(jù)...
摘要:一般都是作為后臺(tái)服務(wù)運(yùn)行,以便隨時(shí)使用,如果你在自己的家用機(jī)上運(yùn)行,它要占一個(gè)任務(wù)欄格子,而且還要一直打開(kāi)一個(gè)難看的黑框框命令行界面,有時(shí)候一不小心就點(diǎn)到它。 原文發(fā)表于我的博客 https://blog.kaciras.net/article/38 隨著AI的大潮,Python大火大熱,學(xué)了Py,那就是學(xué)了寫(xiě)人工智能的語(yǔ)言,而人工智能著名競(jìng)賽Kaggle欽定的在線(xiàn)筆記本:Jupyte...
摘要:一般都是作為后臺(tái)服務(wù)運(yùn)行,以便隨時(shí)使用,如果你在自己的家用機(jī)上運(yùn)行,它要占一個(gè)任務(wù)欄格子,而且還要一直打開(kāi)一個(gè)難看的黑框框命令行界面,有時(shí)候一不小心就點(diǎn)到它。 原文發(fā)表于我的博客 https://blog.kaciras.net/article/38 隨著AI的大潮,Python大火大熱,學(xué)了Py,那就是學(xué)了寫(xiě)人工智能的語(yǔ)言,而人工智能著名競(jìng)賽Kaggle欽定的在線(xiàn)筆記本:Jupyte...
閱讀 3328·2023-04-26 00:07
閱讀 3922·2021-11-23 10:08
閱讀 2939·2021-11-22 09:34
閱讀 858·2021-09-22 15:27
閱讀 1749·2019-08-30 15:54
閱讀 3742·2019-08-30 14:07
閱讀 912·2019-08-30 11:12
閱讀 677·2019-08-29 18:44