2012-01-07 6 views
0

pandocを使用してiPythonノートブック(0.12)からJSONベースのファイル(.ipynb)を変換しようとすると、JSONの「bad decodeArgs」というエラーが表示されます。私はUbuntuが使用しているpandocのバージョン(1.8.1.1)に原因があると思われます。最新のpandocバージョンを入手するには、依存性の問題のために成功しなかったHaskellプラットフォームをセットアップする必要があるようです(本当にしたくない)。これは私の問題ではない場合、私はハスケルをインストールしようとする以上の時間を費やすしたくないです。pandocでipythonノートブックファイル(JSONベース)を他のフォーマットに変換

Ubuntuの最新のpandocバイナリを再構築せずに入手する方法はありますか?

iPythonのノートブックが新しく(しかも非常にクール!!)、JSONを他のフォーマットに変換することに関連する経験を聞いてうれしいです。おそらく、これを実現する別の方法がpandoc以外にあります。

答えて

2

あなたの「Pandocを最新に保つ」に関して、私はあなたがHaskellをインストールする必要があると思います。 Haskell Platform( "HP")パッケージを使用してこれを行う最善の方法は、Rubyの場合と同様に、OSよりも依存性のために環境のパッケージマネージャを使用する方がずっと安定しています。私はWindozeでも、それを動かすことに何の問題もありませんでした。 。 。

Haskellのメーリングリストに質問があると、Debian/Ubuntuのようにメインストリームとしてのプラットフォームのための迅速なヘルプが得られるはずですが、OSパッケージマネージャから入手可能なものを手動でインストールする必要があります。

あなたが起動しているHPを得れば、DEVのPandocをコンパイルしやすい死んでいる、とのgitは最新で日付にあなたを維持します - ここに具体的な指示は、現在の維持: https://github.com/jgm/pandoc/wiki/Installing-the-development-version-of-pandoc-1.9

注V1います。あなたが本当にdevのサイクルで最新の状態に保つのに苦労したくないのなら、9は公式にリリースされましたが、その後もかなりの時間あなたのOSパッケージマネージャーでそれを得ることはできません私はとにかく仮定します)。

最高の構文の入力:文書の構文としてJSONを治療するために、あなたの試みについて

========================== この時点でのPandocのネイティブなマークダウン+拡張、そしてreST(特にPythonの人/環境の場合)は、基本的に機能的に同等に維持されていますが、後者では使用できない機能があります彼が望むときはいつでも拡張機能を追加するだけです。 AFAIK PandocはSphinx拡張機能をまだサポートしていません

Pandoc内で使用されているJSON形式は文書化されていません(まだですか?)が、元のHaskellデータ型です。 Thomas Kが指摘しているように、2つのツールがどのようにデータを表現するかにはいくつかの類似点があるかもしれませんが、どちらか一方を「別のマークアップ形式」として扱うには不十分です。

しかし、これで作業している場合、PandocがJSON入力の方法でどのようなものを探しているのかは分かります。

pandoc -t JSON

はネイティブ

-t

pandocにこれを比較し、それが

Text.Pandoc.DefinitionとText.JSON.Genericによって作成された仕様を見るのは簡単です

Pandocの内部データ表現を入力として使用することは、明らかにマークアップされたテキストストリームよりも安定しており、他の人はこれに関する文書化の希望を表明しており、コミュニティにとって大きな貢献になるでしょう。

Pandoc mail listには、この分野で行われた作業についてお知らせください。そこにいるクルーは、John M(リード開発者)自身からの直接的なフィードバックを直接得ることを含め、非常に反応的です。

0

私はpandocや他のツールがipynbファイルで何をすべきかを知っているとは思っていません(執筆時点では、IPythonノートは1ヶ月以内にリリースされました)。 JSONは、XMLのような一般的なデータ構造であり、ドキュメント形式ではありません。

私たち(IPython)は、ノートブックを他の形式にエクスポートするツールを扱っていますが、まだ適切なリリースが準備されていません。開発を手助けしたい場合は、this mailing list threadを参照してください。うまくいけば、それは次のIPythonリリースの一部になるだろう。

関連する問題