博主原文链接:https://www.yourmetaverse.cn/nlp/453/
Jupyter Notebook和Jupyter Lab提供了广泛的配置选项,允许用户根据自己的需求定制运行环境。这些配置项涉及了从日志设置、安全性选项、内核管理,到内容管理等多个方面,每项配置都有其特定的作用和默认值。
c.Application.log_datefmt
、c.Application.log_format
和 c.Application.log_level
等配置控制日志记录的格式和详细程度。这些设置对于调试和监控Jupyter服务器的运行非常重要。c.NotebookApp.certfile
和 c.NotebookApp.keyfile
,允许您设置SSL证书,以便在HTTPS上运行Jupyter实例。c.NotebookApp.password
和 c.NotebookApp.token
,用于配置身份验证机制,保护你的笔记本免受未经授权的访问。c.KernelManager
和 c.Session
相关配置影响内核的行为,如自动重启策略、会话签名机制等。c.MultiKernelManager
和 c.MappingKernelManager
提供了对于多内核管理的配置,这对于使用多种编程语言或在单个服务器上运行多个项目很有用。c.ContentsManager
和 c.FileContentsManager
配置项涉及到笔记本内容的存储和检索方式,包括是否允许访问隐藏文件、如何处理文件的保存和加载等。c.TerminalManager
设置控制Jupyter终端的行为,包括终端的清理和超时设置。c.GatewayClient
相关配置提供了与远程内核和网关交互所需的设置。这个配置文件是Jupyter环境的核心,正确配置这些选项将帮助你创建一个安全、高效、符合个人需求的Jupyter工作环境。根据你的具体使用场景(如教学、数据分析、机器学习等),可能需要调整不同的配置项以获得最佳体验。
下面是一个完整的配置说明表,涵盖了配置文件中出现的所有配置项及其描述。
配置项 | 描述 | 默认值 |
---|---|---|
c.Application.log_datefmt |
日志记录中使用的日期格式。 | '%Y-%m-%d %H:%M:%S' |
c.Application.log_format |
日志格式模板。 | '[%(name)s]%(highlevel)s %(message)s' |
c.Application.log_level |
设置日志级别。 | 30 (WARN) |
c.Application.logging_config |
配置额外的日志处理器。 | {} |
c.Application.show_config |
启动时是否打印配置到标准输出。 | False |
c.Application.show_config_json |
启动时是否以JSON格式打印配置到标准输出。 | False |
c.JupyterApp.answer_yes |
自动回答是对于任何提示。 | False |
c.JupyterApp.config_file |
配置文件的完整路径。 | '' |
c.JupyterApp.config_file_name |
要加载的配置文件名。 | '' |
c.JupyterApp.generate_config |
是否生成默认配置文件。 | False |
c.NotebookApp.allow_credentials |
设置Access-Control-Allow-Credentials 头。 |
False |
c.NotebookApp.allow_origin |
设置Access-Control-Allow-Origin 头。 |
'' |
c.NotebookApp.allow_origin_pat |
使用正则表达式设置Access-Control-Allow-Origin 头。 |
'' |
c.NotebookApp.allow_password_change |
允许在登录时更改密码。 | True |
c.NotebookApp.allow_remote_access |
允许远程访问。 | False |
c.NotebookApp.allow_root |
是否允许以root用户运行。 | False |
c.NotebookApp.authenticate_prometheus |
是否需要认证以访问prometheus指标。 | True |
c.NotebookApp.autoreload |
是否自动重新加载任何Python源文件的更改。 | False |
c.NotebookApp.base_url |
Notebook服务器的基本URL。 | '/' |
c.NotebookApp.certfile |
SSL/TLS证书文件的完整路径。 | '' |
c.NotebookApp.client_ca |
SSL/TLS客户端认证的证书颁发机构证书的完整路径。 | '' |
c.NotebookApp.config_manager_class |
配置管理器类。 | 'notebook.services.config.manager.ConfigManager' |
c.NotebookApp.contents_manager_class |
内容管理器类。 | 'notebook.services.contents.largefilemanager.LargeFileManager' |
c.NotebookApp.cookie_options |
传递给set_secure_cookie 的额外关键字参数。 |
{} |
c.NotebookApp.cookie_secret |
用于保护cookies的随机字节。 | b'' |
c.NotebookApp.cookie_secret_file |
存储cookie密钥的文件。 | '' |
c.NotebookApp.custom_display_url |
覆盖显示给用户的URL。 | '' |
c.NotebookApp.default_url |
从/ 重定向到的默认URL。 |
'/tree' |
c.NotebookApp.disable_check_xsrf |
禁用跨站请求伪造保护。 | False |
c.NotebookApp.enable_mathjax |
是否启用MathJax进行数学/TeX排版。 | True |
c.NotebookApp.extra_nbextensions_path |
查找JavaScript notebook扩展的额外路径。 | [] |
c.NotebookApp.extra_services |
高优先级加载的额外服务。 | [] |
c.NotebookApp.extra_static_paths |
用于服务静态文件的额外路径。 | [] |
c.NotebookApp.extra_template_paths |
用于服务jinja模板的额外路径。 | [] |
c.NotebookApp.file_to_run |
启动时运行的文件路径。 | '' |
c.NotebookApp.generate_config |
是否生成默认配置文件。 | False |
c.NotebookApp.get_secure_cookie_kwargs |
传递给get_secure_cookie 的额外关键字参数。 |
{} |
c.NotebookApp.ignore_minified_js |
是否忽略压缩的JS文件,主要在开发过程中使用。 | False |
c.NotebookApp.iopub_data_rate_limit |
IOPub数据通道的最大数据传输速率(字节/秒)。 | 1000000 |
c.NotebookApp.iopub_msg_rate_limit |
IOPub消息的最大发送速率(消息/秒)。 | 1000 |
c.NotebookApp.ip |
Notebook服务器监听的IP地址。 | 'localhost' |
c.NotebookApp.jinja_environment_options |
传递给Jinja环境的额外参数。 | {} |
c.NotebookApp.jinja_template_vars |
渲染时提供给jinja模板的额外变量。 | {} |
c.NotebookApp.kernel_manager_class |
内核管理器类。 | 'notebook.services.kernels.kernelmanager.MappingKernelManager' |
c.NotebookApp.kernel_spec_manager_class |
内核规格管理器类。 | 'jupyter_client.kernelspec.KernelSpecManager' |
c.NotebookApp.keyfile |
SSL/TLS私钥文件的完整路径。 | '' |
c.NotebookApp.local_hostnames |
允许作为本地主机名的主机名列表。 | ['localhost'] |
c.NotebookApp.log_json |
是否启用JSON格式化日志。 | False |
c.NotebookApp.logging_config |
额外的日志配置。 | {} |
c.NotebookApp.login_handler_class |
登录处理器类。 | 'notebook.auth.login.LoginHandler' |
c.NotebookApp.logout_handler_class |
注销处理器类。 | 'notebook.auth.logout.LogoutHandler' |
c.NotebookApp.mathjax_config |
使用的MathJax.js配置文件。 | 'TeX-AMS-MML_HTMLorMML-full,Safe' |
c.NotebookApp.mathjax_url |
MathJax.js的自定义URL。 | '' |
c.NotebookApp.max_body_size |
客户端请求体的最大允许大小(字节)。 | 536870912 |
c.NotebookApp.max_buffer_size |
缓冲管理器可分配用于使用的最大内存量(字节)。 | 536870912 |
c.NotebookApp.min_open_files_limit |
打开文件句柄进程资源限制的下限。 | 0 |
c.NotebookApp.nbserver_extensions |
要加载为notebook服务器扩展的Python模块列表。 | {} |
c.NotebookApp.notebook_dir |
笔记本和内核的目录。 | '' |
c.NotebookApp.open_browser |
启动后是否在浏览器中打开。 | True |
c.NotebookApp.password |
Web认证的哈希密码。 | '' |
c.NotebookApp.password_required |
是否强制用户使用密码。 | False |
c.NotebookApp.port |
Notebook服务器监听的端口。 | 8888 |
c.NotebookApp.port_retries |
指定端口不可用时尝试的附加端口数。 | 50 |
c.NotebookApp.pylab |
是否启用pylab。 | 'disabled' |
c.NotebookApp.quit_button |
是否显示退出按钮。 | True |
c.NotebookApp.rate_limit_window |
用于检查消息和数据速率限制的时间窗口(秒)。 | 3 |
c.NotebookApp.reraise_server_extension_failures |
重新引发加载服务器扩展时遇到的异常。 | False |
c.NotebookApp.server_extensions |
DEPRECATED: 使用nbserver_extensions 字典。 |
[] |
c.NotebookApp.session_manager_class |
会话管理器类。 | 'notebook.services.sessions.sessionmanager.SessionManager' |
c.NotebookApp.show_banner |
是否在页面上显示横幅。 | True |
c.NotebookApp.shutdown_no_activity_timeout |
无活动时自动关闭服务器的超时时间(秒)。 | 0 |
c.NotebookApp.sock |
Notebook服务器将监听的UNIX套接字。 | '' |
c.NotebookApp.sock_mode |
UNIX套接字创建的权限模式。 | '0600' |
c.NotebookApp.ssl_options |
为tornado HTTPServer提供SSL选项。 | {} |
c.NotebookApp.terminado_settings |
terminado的配置重写。 | {} |
c.NotebookApp.terminals_enabled |
是否启用终端。 | True |
c.NotebookApp.token |
用于验证首次连接到服务器的令牌。 | ' |
c.NotebookApp.tornado_settings |
重写用于Jupyter notebook的tornado.web.Application的配置。 | {} |
c.NotebookApp.trust_xheaders |
是否信任X-Scheme/X-Forwarded-Proto和X-Real-Ip/X-Forwarded-For头。 | False |
c.NotebookApp.use_redirect_file |
是否通过重定向文件禁用启动浏览器。 | True |
c.NotebookApp.webapp_settings |
DEPRECATED,使用tornado_settings 。 |
{} |
c.NotebookApp.webbrowser_open_new |
启动时在浏览器中打开notebook的位置。 | 2 |
c.NotebookApp.websocket_compression_options |
设置websocket连接的tornado压缩选项。 | None |
c.NotebookApp.websocket_url |
websocket的基本URL。 | '' |
c.ConnectionFileMixin.connection_file |
存储连接信息的JSON文件。 | '' |
c.ConnectionFileMixin.control_port |
控制(ROUTER)端口。 | 0 |
c.ConnectionFileMixin.hb_port |
心跳端口。 | 0 |
c.ConnectionFileMixin.iopub_port |
iopub(PUB)端口。 | 0 |
c.ConnectionFileMixin.ip |
内核的IP地址。 | '' |
c.ConnectionFileMixin.shell_port |
shell(ROUTER)端口。 | 0 |
c.ConnectionFileMixin.stdin_port |
stdin(ROUTER)端口。 | 0 |
c.ConnectionFileMixin.transport |
传输协议(tcp或ipc)。 | 'tcp' |
c.KernelManager.autorestart |
内核崩溃后是否自动重启。 | True |
c.KernelManager.shutdown_wait_time |
等待内核终止的时间(秒)。 | 5.0 |
c.Session.buffer_threshold |
对象缓冲区超过此阈值时避免pickle。 | 1024 |
c.Session.check_pid |
是否检查PID以保护fork后的调用。 | True |
c.Session.copy_threshold |
缓冲区超过此阈值时发送而不复制。 | 65536 |
c.Session.debug |
在Session中启用调试输出。 | False |
c.Session.digest_history_size |
记住的摘要最大数量。 | 65536 |
c.Session.item_threshold |
自定义序列化时检查容器大小的阈值。 | 64 |
c.Session.key |
执行消息签名的密钥。 | b'' |
c.Session.keyfile |
包含执行密钥的文件的路径。 | '' |
c.Session.metadata |
默认顶层元数据字典,用于每个消息。 | {} |
c.Session.packer |
用于序列化消息的打包器名称。 | 'json' |
c.Session.session |
此会话的UUID。 | '' |
c.Session.signature_scheme |
用于构造消息签名的摘要方案。 | 'hmac-sha256' |
c.Session.unpacker |
用于反序列化消息的解包器名称。 | 'json' |
c.Session.username |
会话的用户名。 | 'username' |
c.MultiKernelManager.default_kernel_name |
启动的默认内核名称。 | 'python3' |
c.MultiKernelManager.kernel_manager_class |
内核管理器类。 | 'jupyter_client.ioloop.IOLoopKernelManager' |
c.MultiKernelManager.shared_context |
是否共享一个zmq.Context与所有内核通信。 | True |
c.MappingKernelManager.allowed_message_types |
允许的内核消息类型白名单。 | [] |
c.MappingKernelManager.buffer_offline_messages |
是否缓冲断线前端的内核消息。 | True |
c.MappingKernelManager.cull_busy |
是否考虑清理忙碌的内核。 | False |
c.MappingKernelManager.cull_connected |
是否考虑清理有连接的内核。 | False |
c.MappingKernelManager.cull_idle_timeout |
内核被认为空闲并准备被清理的超时时间(秒)。 | 0 |
c.MappingKernelManager.cull_interval |
检查空闲内核超过清理超时值的间隔时间(秒)。 | 300 |
c.MappingKernelManager.kernel_info_timeout |
放弃内核的超时时间(秒)。 | 60 |
c.KernelSpecManager.allowed_kernelspecs |
允许的内核规格名称列表。 | set() |
c.KernelSpecManager.ensure_native_kernel |
如果没有注册Python内核规格且IPython内核可用,则确保添加它。 | True |
c.KernelSpecManager.kernel_spec_class |
内核规格类。 | 'jupyter_client.kernelspec.KernelSpec' |
c.ContentsManager.allow_hidden |
是否允许访问隐藏文件。 | False |
c.ContentsManager.pre_save_hook |
保存前调用的Python可调用对象或其导入字符串。 | None |
c.FileManagerMixin.use_atomic_writing |
是否在写入新笔记本时使用“原子写入”过程。 | True |
c.FileContentsManager.delete_to_trash |
删除文件是否发送到回收站。 | True |
c.FileContentsManager.post_save_hook |
保存文件后调用的Python可调用对象或其导入字符串。 | None |
c.FileContentsManager.pre_save_hook |
保存前调用的Python可调用对象或其导入字符串。 | None |
c.FileContentsManager.save_script |
DEPRECATED,使用post_save_hook 代替。 |
False |
c.NotebookNotary.algorithm |
笔记本签名使用的哈希算法。 | 'sha256' |
c.NotebookNotary.data_dir |
存储公证秘密和数据库的存储目录。 | '' |
c.NotebookNotary.db_file |
存储笔记本签名的sqlite文件。 | '' |
c.NotebookNotary.secret |
笔记本签名使用的秘密。 | b'' |
c.NotebookNotary.secret_file |
存储秘密的文件。 | '' |
c.AsyncMultiKernelManager.default_kernel_name |
启动的默认内核名称。 | 'python3' |
c.AsyncMultiKernelManager.kernel_manager_class |
内核管理器类。 | 'jupyter_client.ioloop.AsyncIOLoopKernelManager' |
c.AsyncMultiKernelManager.shared_context |
是否共享一个zmq.Context与所有内核通信。 | True |
c.AsyncMultiKernelManager.use_pending_kernels |
是否在进程启动之前使内核可用。 | False |
c.AsyncMappingKernelManager.allowed_message_types |
允许的内核消息类型白名单。 | [] |
c.AsyncMappingKernelManager.buffer_offline_messages |
是否缓冲断线前端的内核消息。 | True |
c.AsyncMappingKernelManager.cull_busy |
是否考虑清理忙碌的内核。 | False |
c.AsyncMappingKernelManager.cull_connected |
是否考虑清理有连接的内核。 | False |
c.AsyncMappingKernelManager.cull_idle_timeout |
内核被认为空闲并准备被清理的超时时间(秒)。 | 0 |
c.AsyncMappingKernelManager.cull_interval |
检查空闲内核超过清理超时值的间隔时间(秒)。 | 300 |
c.AsyncMappingKernelManager.default_kernel_name |
启动的默认内核名称。 | 'python3' |
c.AsyncMappingKernelManager.kernel_info_timeout |
放弃内核的超时时间(秒)。 | 60 |
c.AsyncMappingKernelManager.kernel_manager_class |
内核管理器类。 | 'jupyter_client.ioloop.AsyncIOLoopKernelManager' |
c.AsyncMappingKernelManager.root_dir |
根目录路径。 | '' |
c.GatewayKernelManager.allowed_message_types |
允许的内核消息类型白名单。 | [] |
c.GatewayKernelManager.buffer_offline_messages |
是否缓冲断线前端的内核消息。 | True |
c.GatewayKernelManager.cull_busy |
是否考虑清理忙碌的内核。 | False |
c.GatewayKernelManager.cull_connected |
是否考虑清理有连接的内核。 | False |
c.GatewayKernelManager.cull_idle_timeout |
内核被认为空闲并准备被清理的超时时间(秒)。 | 0 |
c.GatewayKernelManager.cull_interval |
检查空闲内核超过清理超时值的间隔时间(秒)。 | 300 |
c.GatewayKernelManager.default_kernel_name |
启动的默认内核名称。 | 'python3' |
c.GatewayKernelManager.kernel_info_timeout |
放弃内核的超时时间(秒)。 | 60 |
c.GatewayKernelManager.kernel_manager_class |
内核管理器类。 | 'jupyter_client.ioloop.AsyncIOLoopKernelManager' |
c.GatewayKernelManager.root_dir |
根目录路径。 | '' |
c.GatewayKernelManager.shared_context |
是否共享一个zmq.Context与所有内核通信。 | True |
c.GatewayKernelManager.use_pending_kernels |
是否在进程启动之前使内核可用。 | False |
c.GatewayKernelSpecManager.allowed_kernelspecs |
允许的内核规格名称列表。 | set() |
c.GatewayKernelSpecManager.ensure_native_kernel |
如果没有注册Python内核规格且IPython内核可用,则确保添加它。 | True |
c.GatewayKernelSpecManager.kernel_spec_class |
内核规格类。 | 'jupyter_client.kernelspec.KernelSpec' |
c.GatewayKernelSpecManager.whitelist |
DEPRECATED, 使用allowed_kernelspecs 。 |
set() |
c.GatewayClient.auth_token |
HTTP头中使用的授权令牌。 | None |
c.GatewayClient.ca_certs |
CA证书的文件名或None以使用默认值。 | None |
c.GatewayClient.client_cert |
客户端SSL证书的文件名。 | None |
c.GatewayClient.client_key |
客户端SSL密钥的文件名。 | None |
c.GatewayClient.connect_timeout |
与Gateway服务器建立HTTP连接的允许时间。 | 40.0 |
c.GatewayClient.env_whitelist |
将包含在内核启动请求中的环境变量名称的逗号分隔列表。 | '' |
c.GatewayClient.gateway_retry_interval |
首次与Gateway服务器重新连接的允许时间。 | 1.0 |
c.GatewayClient.gateway_retry_interval_max |
与Gateway服务器重新连接重试的最大时间。 | 30.0 |
c.GatewayClient.gateway_retry_max |
与Gateway服务器重新连接的最大重试次数。 | 5 |
c.GatewayClient.headers |
传递给请求的额外HTTP头。 | '{}' |
c.GatewayClient.http_pwd |
HTTP认证的密码。 | None |
c.GatewayClient.http_user |
HTTP认证的用户名。 | None |
c.GatewayClient.kernels_endpoint |
访问内核资源的Gateway API端点。 | '/api/kernels' |
c.GatewayClient.kernelspecs_endpoint |
访问kernelspecs的Gateway API端点。 | '/api/kernelspecs' |
c.GatewayClient.kernelspecs_resource_endpoint |
访问kernelspecs资源的Gateway端点。 | '/kernelspecs' |
c.GatewayClient.request_timeout |
HTTP请求完成的允许时间。 | 40.0 |
c.GatewayClient.url |
Kernel或Enterprise Gateway服务器的URL。 | None |
c.GatewayClient.validate_cert |
对于HTTPS请求,确定是否验证服务器的证书。 | True |
c.GatewayClient.ws_url |
Kernel或Enterprise Gateway服务器的websocket URL。 | None |
c.TerminalManager.cull_inactive_timeout |
终端处于非活动状态的超时时间。 | 0 |
c.TerminalManager.cull_interval |
检查终端超过非活动超时值的间隔时间。 | 300 |
这个表格覆盖了Jupyter配置文件中的所有配置项,涵盖了日志设置、安全性设置、内核管理和内容管理等方面的配置。这些设置可以根据你的具体需求进行调整。