Windows 上で Python で読み書き可能なプログラミングを行う最善の方法は何ですか?[閉まっている]
-
13-09-2019 - |
質問
私は Python で読み書き可能なプログラミングを行うさまざまな方法を試してきました。好き noweb
, 、しかし、それには2つの主な問題があります。まず、Windows 上で構築するのは難しく、私は開発時間の約半分を Windows に費やしています。次に、最終的なプログラムに含まれるコードの各チャンクをインデントする必要がありますが、これはプログラムを作成するときに必ずしもわかりません。私は Emacs にとても愛着があるので、Leo は使いたくないです。
次のような優れた読み書き可能なプログラミング ツールはありますか?
- Windows上で動作
- チャンクの書き込み時ではなく、使用時にチャンクのインデントを設定できるようにします
- まだ Emacs で作業できる
ありがとう!
修正: noweb
する 後でインデントさせてください --- 私はそこに載っていた論文を読み間違えました。
デフォルトでは、
notangle
チャンクを展開するときに空白を保持し、インデントを維持します。したがって、インデントが重要なミランダやハスケルのような言語でも使用できます。
これで残るのは「Windows 上で実行」の問題だけです。
解決
私はこれをしなかった。
http://sourceforge.net/projects/pywebtool/する
あなたは1つの急襲でドキュメントやコードを構築するのに役立ちますウェブ/織り製品の任意の数を取得することができます。
あなたはすることができます - かなり簡単に - あなた自身を書きます。これは、RSTのソースのうち、Pythonのコードブロックをヤンクし、それを組み立てるためにロケット科学ではありません。確かに、私はあなたがRSTのソース文書からPythonコードを組み立てるために、独自のDocutilsのディレクティブを書く勧めます。
あなたは、最終的なHTMLレポートを生成するためのdocutilsのrst2html(またはスフィンクス)を介してRSTを実行します。
あなたは、Pythonのコードブロックを抽出して、最終的なモジュールを生成するために同じRSTのソースに独自のユーティリティを実行します。
他のヒント
私はそれがダイナミックなレポート生成を目的とし、Pweave http://mpastell.com/pweave に書かれているとnowebの構文を使用しています。それはまた、Windows上で動作するので、それは純粋なPythonスクリプトです。それはあなたのインデントの問題を修正しませんが、多分あなたはそれのためにそれを変更することができ、コードは実際にはかなり簡単です。
コミュニティにおけるデファクトスタンダードはIPythonのノートブックです。
ピーター・ノーヴィグは、巡回セールスマン問題解決するためのアルゴリズムを示している優れた例:のhttp://をnbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynbする
https://github.com/ipython/ipythonに記載されている詳細な例/ウィキ/ A-ギャラリー・オブ・面白い-IPython-ノートブック
のあなたはORG-モードとバベル-昆布を使用することができます。
あなたが与えることができるので、これは、非常によく動作します。nowebの-refのソースブロックに
ここでは、最小限の例です: ORG-バベル-昆布を有効には、ファイルnoweb-test.org
にこれを入れます:
#+begin_src python :exports none :noweb-ref c
abc = "abc"
#+end_src
#+begin_src python :noweb yes :tangle noweb-test.py
def x():
<<c>>
return abc
print(x())
#+end_src
またnowebの-REFを与えるための見出しのプロパティを使用することができます。その後も、自動的に1つのnowebの参照に複数のソースブロックを連結することができます。
あなたはブロックで:results output
を打ったとき、そのブロックの下に印刷結果を確認するために、第2のブロックの#+begin_src
ラインにC-c C-c
を追加します。
あなたは nowebのWindows上で構築する3 を簡単に見つけるかもしれません。これは、標準的なnowebのよりも移植できるように設計されています。
また、私の最後のLPツールを参照してください。
の-lp。それは、特別な入力形式を必要としない、値下げ/ MultiMarkdown、reStructuredTextの、OpenOfficeの/ LibreOfficeの、クレオール、TeXの/ LaTeXのサポートと超軽量でクリーンな構文を持っている - 。これ以上の不可解な識字プログラムをこのツールは有用であることが判明: https://github.com/bslatkin/pyliterateする