如何从导入IPython.nb格式静音警告:"UserWarning: nbformat.current is deprecated."



我正在处理导入IPython(Jupyter(笔记本的示例代码,
导入笔记本。示例代码仍然运行良好,但是它生成了一个警告,我想理解并修复它:

site-packages/nbformat/current.py:15: UserWarning: nbformat.current is deprecated.
- use nbformat for read/write/validate public API
- use nbformat.vX directly to composing notebooks of a particular version
warnings.warn("""nbformat.current is deprecated.

至少自2015年以来,人们就一直在讨论这个警告,但我找不到任何有建设性的建议。这是一个可以通过修复代码来解决的警告,还是一个将在没有替换的情况下从IPython中消失的函数?

如果你点击IPython博客的链接,他们会声称有一个更新的版本,但他们的链接指向一个不存在的页面。

这个代码示例在Stack Overflow中的其他线程中被广泛讨论,例如

ipython笔记本中的python访问功能

请记住,您链接的示例是针对Jupyter-4.x的旧版本。包含这些示例的页面在某个时候被重新定位,对于Jupyter的5.7.6版本(撰写本文时的最新版本(,它位于此处。

首先,将from IPython.nbformat import current导入替换为​from nbformat import read

然后,替换4.x片段的这一部分:

with io.open(path, 'r', encoding='utf-8') as f:
nb = current.read(f, 'json')

更新版本:

with io.open(path, 'r', encoding='utf-8') as f:
nb = read(f, 4) 

相关内容

最新更新