我正在处理导入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)