如何在jupyter-jupyter notebook下载 安装mathjax

3541人阅读
Jupyter notebook, 前身是 IPython notebook, 它是一个非常灵活的工具,有助于帮助你构建很多可读的分析,你可以在里面同时保留代码,图片,评论,公式和绘制的图像。
Jupyter具有非常强的可扩展性,支持很多编程语言,并且易于部署到你的个人电脑和几乎所有的服务器上 -- 你只需要使用ssh或http接入即可。最重要的是,它完全免费。
Jupyter默认设置使用 Python kernel,正因此以前叫做 IPython notebook. Jupyter notebook 源自于 Jupyter 项目, Jupyter这个名字是它被设计所支持三个核心编程语言的缩写词:JUlia,PYThon, 和
R, 启发自木星这个词:Jupiter.
接下来的内容将向你展示27个让 Jupyter 用的更加舒心的建议与技巧。
1. Keyboard Shortcuts
每一个进阶用户都知道,键盘快捷键将会为我们节省许多时间。Jupyter在顶部的菜单里保留了许多快捷键:Help & keyboard Shortcuts. 每次更新Jupyter时,都值得再次进行查看,因为新的快捷键总是不断被添加进来。
另一个查看快捷键的方式是使用命令面板:Cmd + Shift + P(或者Linux和Windows上 Ctrl + Shift + P)。这个对话框将会帮助你通过名称运行任何命令 -- 这非常有用,尤其当你不知道一个命令的快捷键或者你想要执行的命令没有快捷键时。这个功能非常类似与Mac上的Spotlight搜索,一旦你开始使用这个功能,你就会发现没有它的日子该怎么办!
这里是一些我喜欢的快捷键:
Esc + F 查找和替换你的代码,但不包括代码的输出内容。
Esc + o 打开代码块输出。
选择多个 cell。 Shift + J 或 Shift + Down 向下选中下一个cell. 你可以通过
Shift + K 或 Shift + Up 向上选中 cell。(译者:jk,与vim的移动方式一致)
一旦 cell 被选中,接着你可以进行批量删除/复制/剪切/粘贴.当你需要移动一部分notebook时,这非常有用。
你也可以执行 Shift + M (译者:m记为merge)对多个cell进行合并。
2. Pretty Display of Varibles
这部分内容可能很多人都知道。如果对带有一个变量或是未赋值语句的cell执行操作,Jupyter 将会自动打印该变量而无需一个输出语句。这非常有用,尤其是使用 Pandas DataFrames 进行处理时,因为输出将会被整齐地格式化为一个表格。
接下来的内容可能没那么人知道:你可以选择修改 ast_note_iteractively kernal 选项来使得 Jupyter 为每一行的变量或语句执行这个操作,以便你可以立即看到多条语句一起输出。
line1 = &this is from line 1&
line2 = &this is from line 2&
'this is from line 2'
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = &all&
'this is from line 1'
'this is from line 2'
如果你想要所有的Jupyter实例(Notebook和Console)都设置该选项,只需创建 ~/.ipython/profile_default/ipython_config.py 文件并写入一下内容:
c = get_config()
# Run all nodes interactively
c.InteractiveShell.ast_node_interactivity = &all&
3. Easy links to documentation
在 Help 菜单你可以找到一些常用库文档的连接,包括 NumPy, Pandas, SciPy 和 Matplotlib.
同时别忘了在一个库,方法或变量前加上 ?,你可以获得它的一个快速语法说明。
4. Plotting in notebooks
在 notebook 中生成绘图有许多选项:
, 使用%matplotlib inline进行激活。
%matplotlib notebook提供了一些交互性,不过可能会有点慢,因为渲染由服务器端完成。
为matplotlib代码提供了另一个渲染器(使用d3)。非常漂亮,不过尚不完备还有待发展。
是构建交互性绘图的一个更好的选择。
也可以生成漂亮的绘图,不过是付费服务。
5. Jupyter Magic Commands
上面的 %matplotlib inline 就是一个所谓的 Jupyter Magic (Jupyter魔法)命令。
Available line magics:
%alias_magic
%automagic
%connect_info
%doctest_mode
%killbgscripts
%matplotlib
%precision
%qtconsole
%reload_ext
%reset_selective
%unload_ext
Available cell magics:
%%javascript
%%writefile
Automagic is ON, % prefix IS NOT needed for line magics.
推荐阅读,你会发现这非常有用。下面是一些我所喜爱的魔法命令:
6. Jupyter Magic - %env:Set Environment Variables
你可以管理notebook的环境变量而无需重启jupyter server. 一些库(比如theano)使用环境变量来控制行为,%env是最方便的一个途径。
# 单独运行 %env 会列出所有环境变量
# 带参数的话则会设置该变量 比如 OMP_NUM_THREADS=4
%env OMP_NUM_THREADS=4
env: OMP_NUM_THREADS=4
7. Jupyter Magic - %run:Excute python code
%run可以从.py文件执行Python代码. 更少的人知道的是它也可以执行其他的Jupyter notebook,这也非常有用。
注意使用%run并不等同于导入一个Python模块.
# this will execute and show the output from
# all code cells of the specified notebook
%run ./LinearRegression.ipynb
Coefficients:
Residual sum of squares: 2548.07
Variance score: 0.47
8. Jupyter Magic - %load:Insert the code from an external script
这将会使用外部脚本来代替cell的内容。你可以使用本地机器上的文件也可以使用一个URL.
9. Jupyter Magic - %store:Pass variables between notebooks
%store命令可以让你在两个不同的notebook间传递变量。
10. Jupyter Magic - %who:List all variables of global scope.
不带参数的%who命令将会列出全局范围内存在的所有变量。如果传入参数,比如str,将会列出指定类型的所有变量。
FormatCode
InteractiveShell
diabetes_X
diabetes_X_test
diabetes_X_train
diabetes_y_test
diabetes_y_train
linear_model
11. Jupyter Magic - Timing
对于计时有两个十分有用的魔法命令:%%time 和 %timeit. 如果你有些代码运行地十分缓慢,而你想确定是否问题出在这里,这两个命令将会非常方便。
%%time 将会给出cell的代码运行一次所花费的时间。
import time
for _ in range(1000):
time.sleep(0.01)# sleep for 0.01 seconds
CPU times: user 196 ms, sys: 21.4 ms, total: 217 ms
Wall time: 11.6 s
%timeit 使用Python的timeit模块,它将会执行一个语句100,000次(默认情况下),然后给出运行最快3次的平均值。
import numpy
%timeit numpy.random.normal(size=100)
The slowest run took 46.45 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 6.26 us per loop
12. Jupyter Magic - %%writefile and %pycat:Export the contents of a cell/Show the contents of an external script
使用%%writefile魔法保存cell的内容到一个外部文件。%pycat则刚好相反,并且会向你展示高亮后的外部文件。
使用%prun statement_name将会产生一个有序表格来展示在该语句中所调用的每个内部函数调用的次数,每次调用的时间与该函数累计运行的时间。
%prun print('hello')
14. Jupyter Magic - Debugging with %pdb
Jupyter有一个自己的,这使得我们能够进入函数内部看看到底发生了什么。
你可以在这里
15. Suppress the output of a final function
有时候你可能会想要抑制最后一行函数的输出,比如当我们绘制图像的时候。为此,你只需加上一个分号即可。
%matplotlib inline
from matplotlib import pyplot as plt
import numpy
x = numpy.linspace(0, 1, 1000)**1.5
# Here you get the output of the function
plt.hist(x)
(array([ 216.,
array([ 0. ,
# By adding a semicolon at the end, the output is suppressed.
plt.hist(x);
在 notebook 中执行 shell 命令非常容易,你可以像下面这样列出当前目录下的文件:
JupyterNotebookTips.ipynb
LinearRegression.ipynb
JupyterNotebookTips.ipynb-meta LinearRegression.ipynb-meta
或是检查或管理包.
!pip list | grep pandas
pandas (0.18.1)
17. Using LaTeX for formulas
当你在 markdown cell 中书写时,它会被 MathJax 渲染成一个公式。(译者:下文中介绍的Jupyter插件中有个插件关于LaTeX,提供了更多LaTeX功能)
$$ P(A \mid B) = \frac{P(B \mid A) \, P(A)}{P(B)} $$
会被渲染成为:
P(A∣B)=P(B∣A)P(A)P(B)
markdown 是 notebook 中十分重要的一部分,别忘了使用它来传达你的想法!
18. Run code from a different kernel in a notebooks
如果想要的话,你可以将多个 kernel 的代码组合到一个 notebook 中。
在每个cell的开头使用相关的魔法命令来声明你想使用的 kernel:
for i in {1..5}
19. Install other kernels for Jupyter
Jupyter 其中的一个重要特色就是能够运行不同语言,你只需安装相关的 kernel 即可。比如,下面的例子是如何安装 R kernel.
快捷选择:使用anaconda安装 R kernel
如果你使用 anaconda 安装你的环境,这会相当简单。你只需要在 terminal 中运行下面的命令:
conda install -c r r-essentials
不那么快捷的方式:手动安装 R kernel
如果你不是使用 anaconda, 这个过程可能稍显复杂。如果你还没有安装的话, 你需要从 安装。(译者: 也可使用 brew cask install r-gui)
安装 R 完毕后,打开 R console 并运行如下命令:
install.packages(c('repr', 'IRdisplay', 'crayon', 'pbdZMQ', 'devtools'))
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()
# to register the kernel in the current R installation
20. Running R and Python in the same notebook
对于此最好的解决方案是安装 (需要安装一个可以工作的 R ), 通过 pip 可以很容易安装:
pip install rpy2
你可以同时使用这两种语言,甚至在它们之间传递变量:
一个很好的示例
21. Writing functions in other languages
有时候 numpy 的速度仍旧不够快,我们需要自己写一些更快的代码。
原则上,你可以以动态链接库的方式编译函数,然后用 python 进行包装。
不过如果有人能够帮你完成这部分烦人的工作是不是非常棒呢?
你可以用 cython 或 fortran 写函数并直接从 Python 代码进行调用。
首先你需要安装:
pip install cython fortran-magic
个人来说我更喜欢使用 fortran, 我发现它对数值统计函数十分方便。更多用法上的细节可以.
也有一些其他方式可以加速你的Python代码。更多示例可以/
22. Multicursor support
Jupyter 支持多光标操作,与 Sublime Text 类似。按住 Alt 进行点击和拖拽鼠标即可。
23. Jupyter-contrib extensions
是一系列能够给 Jupyter 带来许多功能的扩展,比如
jupyter spell-checker 和 code-formatter.
译者:使用conda安装是最方便的,更多安装与使用信息可以看. 启用插件可以使用, 通过打开 http://localhost:8888/nbextensions/ 进行设置,里面有很多实用的插件,具体自行发现。
conda install -c conda-forge jupyter_contrib_nbextensions
24. Create a presentation from a Jupyter notebook
Damian Avila的
允许你从已有的一个 notebook 创建一个 powerpoint 风格的报告。
你可以通过 conda 安装 RISE:
conda install -c damianavila82 rise
或通过 pip:
pip install RISE
然后执行下面的代码安装并启用扩展:
jupyter-nbextension install rise --py --sys-prefix
jupyter-nbextension enable rise --py --sys-prefix
25. The Jupyter output system
notebook 以 HTML 的方式进行展示,cell 的输出也可以是 HTML,所以事实上你可以返回任何东西:视频/音频/图像。
下面的例子我扫描了 images 目录下的 png 文件,并输出它们的缩略图.(译者:因为当前该目录下只有两个 png 文件,所以仅输出两个)
from IPython.display import display, Image
names = [f for f in os.listdir('../images/') if f.endswith('.png')]
for name in names[:5]:
display(Image('../images/' + name, width=100))
26. 'Big data' analysis
对于大规模数据样本的查询/处理也有一些解决方案:
是使用 Python 进行简单 map-reduce 操作的一个很好的选择。
spark-sql 魔法
27. Sharing notebooks
分享 notebook 最简单的方式是直接使用 notebook 文件(.ipynb).不过对于那些不使用 Jupyter 的人来说,你也可以这么做:
使用菜单项 File & Download as & HTML 将 notebook 转换成 HTML。
使用 gist 或 github 分享 notebook,它们都会对 notebook 进行渲染展示。
如果你上传 notebook 到一个 github 仓库,你可以使用十分便利的服务来允许第三者半小时时间以交互性身份访问你的仓库。
安装, 当你组织一个小型课程或研讨会没有心思关心学生的机器状况时,这是非常方便的。
将 notebook 保存到比如 dropbox 中,然后将链接放到. nbviewer将会渲染你存储在任何地方的notebook.
使用 File & Download as & PDF 菜单将 notebook 保存为一个 PDF。如果你打算这么做,强烈推荐你阅读 Julius Schulz 非常棒的一篇文章.
( 译者注:可在查看译文 )
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:202400次
积分:2642
积分:2642
排名:第13701名
原创:28篇
转载:201篇
(1)(3)(4)(1)(2)(1)(7)(4)(1)(3)(3)(2)(11)(3)(6)(5)(1)(4)(9)(2)(19)(11)(1)(7)(6)(14)(5)(10)(4)(4)(6)(13)(3)(55)window下安装jupyter - ljy2013 - 博客园
1、Install [Anaconda](https://docs.continuum.io/anaconda/install#anaconda-install)
实际上安装了anaconda就已经安装好了jupyter,但是为了便于一些分析,我们配置一些环境。
2、配置环境
conda env create -f environment.yml
其中environment.yml中的内容如下:
dependencies:
- cycler=0.10.0=py35_0
- decorator=4.0.10=py35_0
- entrypoints=0.2.2=py35_0
- freetype
- ipykernel=4.3.1=py35_0
- ipython=5.0.0=py35_0
- ipython_genutils=0.1.0=py35_0
- jinja2=2.8=py35_1
- jsonschema=2.5.1=py35_0
- jupyter=1.0.0=py35_3
- jupyter_client=4.3.0=py35_0
- jupyter_console=5.0.0=py35_0
- jupyter_core=4.1.0=py35_0
- libsodium
- markupsafe=0.23=py35_2
- matplotlib=1.5.1=np111py35_0
- nbconvert=4.2.0=py35_0
- nbformat=4.0.1=py35_0
- notebook=4.2.1=py35_0
- numpy=1.11.1=py35_0
- pandas=0.18.1=np111py35_0
- path.py=8.2.1=py35_0
- patsy=0.4.1=py35_0
- pickleshare=0.7.2=py35_0
- pip=8.1.2=py35_0
- prompt_toolkit=1.0.3=py35_0
- pygments=2.1.3=py35_0
- pyparsing=2.1.4=py35_0
- pyqt=4.11.4=py35_4
- python=3.5.2=0
- python-dateutil=2.5.3=py35_0
- pytz=2016.6.1=py35_0
- qtconsole=4.2.1=py35_0
- requests=2.10.0=py35_0
- scipy=0.17.1=np111py35_1
- seaborn=0.7.0=py35_0
- setuptools=23.0.0=py35_0
- simplegeneric=0.8.1=py35_1
- sip=4.18=py35_0
- six=1.10.0=py35_0
- statsmodels=0.6.1=np111py35_1
- tornado=4.3=py35_1
- traitlets=4.2.1=py35_0
- wcwidth=0.1.7=py35_0
- wheel=0.29.0=py35_0
- colorlover==0.2.1
- cufflinks==0.8.2
- ipython-genutils==0.1.0
- ipywidgets==5.2.2
- jupyter-client==4.3.0
- jupyter-console==5.0.0
- jupyter-core==4.1.0
- jupyterlab==0.1.1
- plotly==1.12.4
- prompt-toolkit==1.0.3
- qgrid==0.3.2
- tqdm==4.7.6
- widgetsnbextension==1.2.6
在执行这一步的时候,会报错,原因是因为ipy的源的问题。因此,需要修改pip的源。具体修改方法如下:
(1)在C:\Users\LJY目录下创建一个pip目录,如:C:\Users\xx\pip,并新建文件pip.ini的文件。
(2)在pip.ini文件中添加以下内容即可:(在这里我尝试了豆瓣的源/simple/和阿里的源都不行,只有清华大学的源可以用)
此时重新执行conda env create -f environment.yml 即可。
3、执行:activate vdl
4、执行:jupyter notebook --config jupyter_notebook_config.py
jupyter_notebook_config.py文件的内容如下:
# Configuration file for jupyter-notebook.
#------------------------------------------------------------------------------
# Configurable configuration
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# LoggingConfigurable configuration
#------------------------------------------------------------------------------
# A parent class for Configurables that log.
# Subclasses have a log trait, and the default behavior is to get the logger
# from the currently running Application.
#------------------------------------------------------------------------------
# SingletonConfigurable configuration
#------------------------------------------------------------------------------
# A configurable that only allows one instance.
# This class is for classes that should only have one instance of itself or
# *any* subclass. To create and retrieve such a class use the
# :meth:`SingletonConfigurable.instance` method.
#------------------------------------------------------------------------------
# Application configuration
#------------------------------------------------------------------------------
# This is an application.
# The date format used by logging formatters for %(asctime)s
# c.Application.log_datefmt = '%Y-%m-%d %H:%M:%S'
# The Logging format template
# c.Application.log_format = '[%(name)s]%(highlevel)s %(message)s'
# Set the log level by value or name.
# c.Application.log_level = 30
#------------------------------------------------------------------------------
# JupyterApp configuration
#------------------------------------------------------------------------------
# Base class for Jupyter applications
# Answer yes to any prompts.
c.JupyterApp.answer_yes = True
# Full path of a config file.
# c.JupyterApp.config_file = ''
# Specify a config file to load.
# c.JupyterApp.config_file_name = ''
# Generate default config file.
# c.JupyterApp.generate_config = False
#------------------------------------------------------------------------------
# NotebookApp configuration
#------------------------------------------------------------------------------
# Set the Access-Control-Allow-Credentials: true header
# c.NotebookApp.allow_credentials = False
# Set the Access-Control-Allow-Origin header
# Use '*' to allow any origin to access your server.
# Takes precedence over allow_origin_pat.
# c.NotebookApp.allow_origin = ''
# Use a regular expression for the Access-Control-Allow-Origin header
# Requests from an origin matching the expression will get replies with:
Access-Control-Allow-Origin: origin
# where `origin` is the origin of the request.
# Ignored if allow_origin is set.
# c.NotebookApp.allow_origin_pat = ''
# DEPRECATED use base_url
# c.NotebookApp.base_project_url = '/'
# The base URL for the notebook server.
# Leading and trailing slashes can be omitted, and will automatically be added.
# c.NotebookApp.base_url = '/'
# Specify what command to use to invoke a web browser when opening the notebook.
# If not specified, the default browser will be determined by the `webbrowser`
# standard library module, which allows setting of the BROWSER environment
# variable to override it.
# c.NotebookApp.browser = ''
# The full path to an SSL/TLS certificate file.
# c.NotebookApp.certfile = ''
# The full path to a certificate authority certifificate for SSL/TLS client
# authentication.
# c.NotebookApp.client_ca = ''
# The config manager class to use
# c.NotebookApp.config_manager_class = 'notebook.services.config.manager.ConfigManager'
# The notebook manager class to use.
# c.NotebookApp.contents_manager_class = 'notebook.services.contents.filemanager.FileContentsManager'
# Extra keyword arguments to pass to `set_secure_cookie`. See tornado's
# set_secure_cookie docs for details.
# c.NotebookApp.cookie_options = {}
# The random bytes used to secure cookies. By default this is a new random
# number every time you start the Notebook. Set it to a value in a config file
# to enable logins to persist across server sessions.
# Note: Cookie secrets should be kept private, do not share config files with
# cookie_secret stored in plaintext (you can read the value from a file).
# c.NotebookApp.cookie_secret = b''
# The file where the cookie secret is stored.
# c.NotebookApp.cookie_secret_file = ''
# The default URL to redirect to from `/`
# c.NotebookApp.default_url = '/tree'
# Whether to enable MathJax for typesetting math/TeX
# MathJax is the javascript library Jupyter uses to render math/LaTeX. It is
# very large, so you may want to disable it if you have a slow internet
# connection, or for offline use of the notebook.
# When disabled, equations etc. will appear as their untransformed TeX source.
# c.NotebookApp.enable_mathjax = True
# extra paths to look for Javascript notebook extensions
# c.NotebookApp.extra_nbextensions_path = []
# Extra paths to search for serving static files.
# This allows adding javascript/css to be available from the notebook server
# machine, or overriding individual files in the IPython
# c.NotebookApp.extra_static_paths = []
# Extra paths to search for serving jinja templates.
# Can be used to override templates from notebook.templates.
# c.NotebookApp.extra_template_paths = []
# c.NotebookApp.file_to_run = ''
# Use minified JS file or not, mainly use during dev to avoid JS recompilation
# c.NotebookApp.ignore_minified_js = False
# (bytes/sec) Maximum rate at which messages can be sent on iopub before they
# are limited.
# c.NotebookApp.iopub_data_rate_limit = 0
# (msg/sec) Maximum rate at which messages can be sent on iopub before they are
# limited.
# c.NotebookApp.iopub_msg_rate_limit = 0
# The IP address the notebook server will listen on.
# c.NotebookApp.ip = 'localhost'
# Supply extra arguments that will be passed to Jinja environment.
# c.NotebookApp.jinja_environment_options = {}
# Extra variables to supply to jinja templates when rendering.
# c.NotebookApp.jinja_template_vars = {}
# The kernel manager class to use.
# c.NotebookApp.kernel_manager_class = 'notebook.services.kernels.kernelmanager.MappingKernelManager'
# The kernel spec manager class to use. Should be a subclass of
# `jupyter_client.kernelspec.KernelSpecManager`.
# The Api of KernelSpecManager is provisional and might change without warning
# between this version of Jupyter and the next stable one.
# c.NotebookApp.kernel_spec_manager_class = 'jupyter_client.kernelspec.KernelSpecManager'
# The full path to a private key file for usage with SSL/TLS.
# c.NotebookApp.keyfile = ''
# The login handler class to use.
# c.NotebookApp.login_handler_class = 'notebook.auth.login.LoginHandler'
# The logout handler class to use.
# c.NotebookApp.logout_handler_class = 'notebook.auth.logout.LogoutHandler'
# The url for MathJax.js.
# c.NotebookApp.mathjax_url = ''
# Dict of Python modules to load as notebook server extensions.Entry values can
# be used to enable and disable the loading ofthe extensions.
# c.NotebookApp.nbserver_extensions = {}
# The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = 'sessions/'
# Whether to open in a browser after starting. The specific browser used is
# platform dependent and determined by the python standard library `webbrowser`
# module, unless it is overridden using the --browser (NotebookApp.browser)
# configuration option.
# c.NotebookApp.open_browser = True
# Hashed password to use for web authentication.
# To generate, type in a python/IPython shell:
from notebook. passwd()
# The string should be of the form type:salt:hashed-password.
# c.NotebookApp.password = ''
# The port the notebook server will listen on.
# c.NotebookApp.port = 8888
# The number of additional ports to try if the specified port is not available.
# c.NotebookApp.port_retries = 50
# (sec) Time window used to
check the message and data rate limits.
# c.NotebookApp.rate_limit_window = 1.0
# Reraise exceptions encountered loading server extensions?
# c.NotebookApp.reraise_server_extension_failures = False
# DEPRECATED use the nbserver_extensions dict instead
# c.NotebookApp.server_extensions = []
# The session manager class to use.
# c.NotebookApp.session_manager_class = 'notebook.services.sessions.sessionmanager.SessionManager'
# Supply SSL options for the tornado HTTPServer. See the tornado docs for
# details.
# c.NotebookApp.ssl_options = {}
# Supply overrides for the tornado.web.Application that the Jupyter notebook
# c.NotebookApp.tornado_settings = {}
# Whether to trust or not X-Scheme/X-Forwarded-Proto and X-Real-Ip/X-Forwarded-
# For headerssent by the upstream reverse proxy. Necessary if the proxy handles
# c.NotebookApp.trust_xheaders = False
# DEPRECATED, use tornado_settings
# c.NotebookApp.webapp_settings = {}
# The base URL for websockets, if it differs from the HTTP server (hint: it
# almost certainly doesn't).
# Should be in the form of an HTTP origin: ws[s]://hostname[:port]
# c.NotebookApp.websocket_url = ''
#------------------------------------------------------------------------------
# ConnectionFileMixin configuration
#------------------------------------------------------------------------------
# Mixin for configurable classes that work with connection files
# JSON file in which to store connection info [default: kernel-&pid&.json]
# This file will contain the IP, ports, and authentication key needed to connect
# clients to this kernel. By default, this file will be created in the security
# dir of the current profile, but can be specified by absolute path.
# c.ConnectionFileMixin.connection_file = ''
# set the control (ROUTER) port [default: random]
# c.ConnectionFileMixin.control_port = 0
# set the heartbeat port [default: random]
# c.ConnectionFileMixin.hb_port = 0
# set the iopub (PUB) port [default: random]
# c.ConnectionFileMixin.iopub_port = 0
# Set the kernel's IP address [default localhost]. If the IP address is
# something other than localhost, then Consoles on other machines will be able
# to connect to the Kernel, so be careful!
# c.ConnectionFileMixin.ip = ''
# set the shell (ROUTER) port [default: random]
# c.ConnectionFileMixin.shell_port = 0
# set the stdin (ROUTER) port [default: random]
# c.ConnectionFileMixin.stdin_port = 0
# c.ConnectionFileMixin.transport = 'tcp'
#------------------------------------------------------------------------------
# KernelManager configuration
#------------------------------------------------------------------------------
# Manages a single kernel in a subprocess on this host.
# This version starts kernels with Popen.
# Should we autorestart the kernel if it dies.
# c.KernelManager.autorestart = True
# DEPRECATED: Use kernel_name instead.
# The Popen Command to launch the kernel. Override this if you have a custom
# kernel. If kernel_cmd is specified in a configuration file, Jupyter does not
# pass any arguments to the kernel, because it cannot make any assumptions about
# the arguments that the kernel understands. In particular, this means that the
# kernel does not receive the option --debug if it given on the Jupyter command
# c.KernelManager.kernel_cmd = []
#------------------------------------------------------------------------------
# Session configuration
#------------------------------------------------------------------------------
# Object for handling serialization and sending of messages.
# The Session object handles building messages and sending them with ZMQ sockets
# or ZMQStream objects.
Objects can communicate with each other over the
# network via Session objects, and only need to work with the dict-based IPython
# message spec. The Session will handle serialization/deserialization, security,
# and metadata.
# Sessions support configurable serialization via packer/unpacker traits, and
# signing with HMAC digests via the key/keyfile traits.
# Parameters ----------
# debug : bool
whether to trigger extra debugging statements
# packer/unpacker : str : 'json', 'pickle' or import_string
importstrings for methods to serialize message parts.
'json' or 'pickle', predefined JSON and pickle packers will be used.
Otherwise, the entire importstring must be used.
The functions must accept at least valid JSON input, and output *bytes*.
For example, to use msgpack:
packer = 'msgpack.packb', unpacker='msgpack.unpackb'
# pack/unpack : callables
You can also set the pack/unpack callables for serialization directly.
# session : bytes
the ID of this Session object.
The default is to generate a new UUID.
# username : unicode
username added to message headers.
The default is to ask the OS.
# key : bytes
The key used to initialize an HMAC signature.
If unset, messages
will not be signed or checked.
# keyfile : filepath
The file containing a key.
If this is set, `key` will be initialized
to the contents of the file.
# Threshold (in bytes) beyond which an object's buffer should be extracted to
# avoid pickling.
# c.Session.buffer_threshold = 1024
# Whether to check PID to protect against calls after fork.
# This check can be disabled if fork-safety is handled elsewhere.
# c.Session.check_pid = True
# Threshold (in bytes) beyond which a buffer should be sent without copying.
# c.Session.copy_threshold = 65536
# Debug output in the Session
# c.Session.debug = False
# The maximum number of digests to remember.
# The digest history will be culled when it exceeds this value.
# c.Session.digest_history_size = 65536
# The maximum number of items for a container to be introspected for custom
# serialization. Containers larger than this are pickled outright.
# c.Session.item_threshold = 64
# execution key, for signing messages.
# c.Session.key = b''
# path to file containing execution key.
# c.Session.keyfile = ''
# Metadata dictionary, which serves as the default top-level metadata dict for
# each message.
# c.Session.metadata = {}
# The name of the packer for serializing messages. Should be one of 'json',
# 'pickle', or an import name for a custom callable serializer.
# c.Session.packer = 'json'
# The UUID identifying this session.
# c.Session.session = ''
# The digest scheme used to construct the message signatures. Must have the form
# 'hmac-HASH'.
# c.Session.signature_scheme = 'hmac-sha256'
# The name of the unpacker for unserializing messages. Only used with custom
# functions for `packer`.
# c.Session.unpacker = 'json'
# Username for the Session. Default is your system username.
# c.Session.username = 'io'
#------------------------------------------------------------------------------
# MultiKernelManager configuration
#------------------------------------------------------------------------------
# A class for managing multiple kernels.
# The name of the default kernel to start
# c.MultiKernelManager.default_kernel_name = 'python3'
# The kernel manager class.
This is configurable to allow subclassing of the
# KernelManager for customized behavior.
# c.MultiKernelManager.kernel_manager_class = 'jupyter_client.ioloop.IOLoopKernelManager'
#------------------------------------------------------------------------------
# MappingKernelManager configuration
#------------------------------------------------------------------------------
# A KernelManager that handles notebook mapping and HTTP error handling
# c.MappingKernelManager.root_dir = ''
#------------------------------------------------------------------------------
# ContentsManager configuration
#------------------------------------------------------------------------------
# Base class for serving files and directories.
# This serves any text or binary file, as well as directories, with special
# handling for JSON notebook documents.
# Most APIs take a path argument, which is always an API-style unicode path, and
# always refers to a directory.
# - unicode, not url-escaped
# - '/'-separated
# - leading and trailing '/' will be stripped
# - if unspecified, path defaults to '',
indicating the root path.
# c.ContentsManager.checkpoints = None
# c.ContentsManager.checkpoints_class = 'notebook.services.contents.checkpoints.Checkpoints'
# c.ContentsManager.checkpoints_kwargs = {}
# Glob patterns to hide in file and directory listings.
# c.ContentsManager.hide_globs = ['__pycache__', '*.pyc', '*.pyo', '.DS_Store', '*.so', '*.dylib', '*~']
# Python callable or importstring thereof
# To be called on a contents model prior to save.
# This can be used to process the structure, such as removing notebook outputs
# or other side effects that should not be saved.
# It will be called as (all arguments passed by keyword)::
hook(path=path, model=model, contents_manager=self)
# - model: the model to be saved. Includes file contents.
Modifying this dict will affect the file that is stored.
# - path: the API path of the save destination
# - contents_manager: this ContentsManager instance
# c.ContentsManager.pre_save_hook = None
# The base name used when creating untitled directories.
# c.ContentsManager.untitled_directory = 'Untitled Folder'
# The base name used when creating untitled files.
# c.ContentsManager.untitled_file = 'untitled'
# The base name used when creating untitled notebooks.
# c.ContentsManager.untitled_notebook = 'Untitled'
#------------------------------------------------------------------------------
# FileManagerMixin configuration
#------------------------------------------------------------------------------
# Mixin for ContentsAPI classes that interact with the filesystem.
# Provides facilities for reading, writing, and copying both notebooks and
# generic files.
# Shared by FileContentsManager and FileCheckpoints.
# Note ---- Classes using this mixin must provide the following attributes:
# root_dir : unicode
A directory against against which API-style paths are to be resolved.
# log : logging.Logger
# By default notebooks are saved on disk on a temporary file and then if
# succefully written, it replaces the old ones. This procedure, namely
# 'atomic_writing', causes some bugs on file system whitout operation order
# enforcement (like some networked fs). If set to False, the new notebook is
# written directly on the old one which could fail (eg: full filesystem or quota
# c.FileManagerMixin.use_atomic_writing = True
#------------------------------------------------------------------------------
# FileContentsManager configuration
#------------------------------------------------------------------------------
# Python callable or importstring thereof
# to be called on the path of a file just saved.
# This can be used to process the file on disk, such as converting the notebook
# to a script or HTML via nbconvert.
# It will be called as (all arguments passed by keyword)::
hook(os_path=os_path, model=model, contents_manager=instance)
# - path: the filesystem path to the file just written - model: the model
# representing the file - contents_manager: this ContentsManager instance
# c.FileContentsManager.post_save_hook = None
# c.FileContentsManager.root_dir = ''
# DEPRECATED, use post_save_hook. Will be removed in Notebook 5.0
# c.FileContentsManager.save_script = False
#------------------------------------------------------------------------------
# NotebookNotary configuration
#------------------------------------------------------------------------------
# A class for computing and verifying notebook signatures.
# The hashing algorithm used to sign notebooks.
# c.NotebookNotary.algorithm = 'sha256'
# The number of notebook signatures to cache. When the number of signatures
# exceeds this value, the oldest 25% of signatures will be culled.
# c.NotebookNotary.cache_size = 65535
# The sqlite file in which to store notebook signatures. By default, this will
# be in your Jupyter runtime directory. You can set it to ':memory:' to disable
# sqlite writing to the filesystem.
# c.NotebookNotary.db_file = ''
# The secret key with which notebooks are signed.
# c.NotebookNotary.secret = b''
# The file where the secret key is stored.
# c.NotebookNotary.secret_file = ''
#------------------------------------------------------------------------------
# KernelSpecManager configuration
#------------------------------------------------------------------------------
# If there is no Python kernelspec registered and the IPython kernel is
# available, ensure it is added to the spec list.
# c.KernelSpecManager.ensure_native_kernel = True
# The kernel spec class.
This is configurable to allow subclassing of the
# KernelSpecManager for customized behavior.
# c.KernelSpecManager.kernel_spec_class = 'jupyter_client.kernelspec.KernelSpec'
# Whitelist of allowed kernel names.
# By default, all installed kernels are allowed.
# c.KernelSpecManager.whitelist = set()
6、在我们的代码中,有时候想执行grid函数时,会出现错误:&Widget Javascript not detected. It may not be installed properly. &
出现这个原因应该是没有安装ipywidgets。于是就安装:conda install -c conda-forge ipywidgets
安装成功后,执行:jupyter nbextension enable --py& widgetsnbextension 后如下所示:
此时,等待一会,在执行grid函数时就不会报错额。
7、jupyter的使用方法
(1)选择一个目录dir:jupyter notebook
(2)当前生成的所有文件都会被保存在dir中。并且默认该目录为jupyter的根目录
(3)如果有什么数据文件,或者自定义安装包都可以直接拷贝到该目录即可。
接下来就是可以愉快地玩了。
阅读(...) 评论()
随笔: 169

我要回帖

更多关于 jupyter notebook配置 的文章

 

随机推荐