2012-01-07 84 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版本的一部分。

相關問題