2012-01-07 83 views
0

当尝试使用pandoc从iPython笔记本(0.12)转换基于JSON的文件(.ipynb)时,我收到一条错误消息,指出JSON的“bad decodeArgs”。我怀疑这可能是由于我使用Ubuntu提供的pandoc版本(1.8.1.1)。看起来,获得最新的pandoc版本需要设置Haskell平台,因为依赖性挑战(并且不想这么做),我没有成功做到这一点。如果这不是我的问题,我不想花费更多的时间尝试安装Haskell。使用pandoc将ipython笔记本文件(基于JSON)转换为其他格式

有没有办法在不重建Ubuntu的情况下获取最新的pandoc二进制文件?

鉴于iPython笔记本电脑是新的(非常酷!),很高兴听到与将JSON转换为其他格式有关的经验。也许有一种不同的方式来完成除pandoc以外的其他方式。

回答

2

关于您的“与Pandoc保持同步”,恐怕您确实需要安装Haskell。通过Haskell平台(“HP”)包完成此操作的最佳方法是,然后就像使用Ruby一样,使用环境的软件包管理器进行依赖关系的操作比操作系统更加一致。即使在Windoze,我也没有遇到麻烦。 。 。

我确信Haskell邮件列表的问题会导致对Debian/Ubuntu等主流平台的快速帮助,但是您可能需要手动安装通过OS软件包管理器提供的更新版本的HP。

一旦你得到HP启动和运行,dev的Pandoc是死容易编译,git会您及时了解最新的 - 这里的具体说明,目前维持: https://github.com/jgm/pandoc/wiki/Installing-the-development-version-of-pandoc-1.9

注意V1。 9现在已经正式发布,如果你真的不想去跟上开发周期的最新进展,但是当然在你之后的一段时间内你不会在OS包管理器中获得它(无论如何,我假设)。

========================== 关于你尝试把JSON作为文档语法:

最好的语法输入对于Pandoc来说,它在本质上是markdown + extension和reST(特别是对于Python人/环境),基本上保持了功能上的等价性,虽然前者中可能有一些特性没有在后者中表现出来,因为John可以随时随地添加扩展程序。 AFAIK Pandoc尚未开始支持Sphinx扩展(尚未?)

在Pandoc内部使用的JSON格式没有记录(但?),但它是本机Haskell数据类型。正如Thomas K所指出的那样,这两种工具代表数据的方式可能存在一些相似之处,但可能不足以将其视为“另一种标记格式”。

但是,如果你正在处理这个问题,很容易看到Pandoc寻找JSON输入的方式。

pandoc -t JSON

比较这对

pandoc -t本地

,并可以很容易地看到Text.Pandoc.Definition和Text.JSON.Generic

创建规范

使用Pandoc的内部数据表示作为输入显然比标记的文本流更稳定,而其他人已经表达了对此的文档化的愿望,这将是对社区的巨大贡献。

请通知Pandoc mail list在这方面完成的任何工作。机组人员响应迅速,其中包括直接从John M(首席开发人员)自己获得快速反馈。

0

我怀疑pandoc或任何其他工具知道如何处理ipynb文件(撰写本文时,IPython笔记本发布不到一个月前)。 JSON只是一种通用的数据结构,如XML,而不是文档格式。

我们是(IPython)致力于将笔记本导出为其他格式的工具,但他们尚未准备好正式发布。如果你想帮助开发,请参阅this mailing list thread。希望它会成为下一个IPython版本的一部分。

相关问题