Was ist der beste Weg, Literarische Programmierung in Python auf Windows zu tun? [geschlossen]
-
13-09-2019 - |
Frage
Ich habe mit verschiedenen Möglichkeiten zu tun, lesen und Programmierung in Python zu spielen. Ich mag noweb
, aber ich habe zwei Hauptprobleme mit sich: Erstens, es ist hart auf Windows zu bauen, wo ich etwa die Hälfte meiner Entwicklungszeit verbringen; und zweitens, es verlangt, dass ich jedes Stück Code einrücken, wie es im endgültigen Programm sein wird ---, die ich nicht unbedingt wissen, wenn ich es schreiben. Ich will nicht, Leo verwenden, weil ich sehr zu Emacs angebracht bin.
Gibt es ein gutes lesen und Programmier-Tool, dass:
- Läuft unter Windows
- Erlaubt mir die Vertiefung der Stücke zu setzen, wenn sie verwendet werden, nicht, wenn sie geschrieben sind
- lässt mich immer noch in Emacs arbeiten
Danke!
Korrektur: noweb
hat Lassen Sie mich später einrücken --- ich falsch verstanden das Papier ich es gefunden.
Standardmäßig bewahrt
notangle
Leerzeichen und hält Einzug bei Brocken zu erweitern. Es kann daher mit Sprachen wie Miranda und Haskell verwendet werden, bei der Vertiefung von Bedeutung ist
Das läßt mich nur mit der „Läuft unter Windows“ -Problem.
Lösung
Ich tue dies:
http://sourceforge.net/projects/pywebtool/
Sie können eine beliebige Anzahl von Web / Webart Produkte erhalten, die Sie bauen ein Dokument und Code auf einen Schlag helfen.
Sie können - ziemlich einfach - schreiben Sie Ihre eigenen. Es ist kein Hexenwerk, die Python-Code-Blöcke aus RST Quelle zu zerren und sie zusammenbauen. In die Tat, empfehle ich Sie Ihre eigenen Docutils Richtlinien schreiben den Python-Code aus einem RST Quelldokument zusammenzustellen.
Sie führen die RST durch docutils rst2html (oder Sphinx) Ihren endgültigen HTML-Bericht zu erzeugen.
Sie führen Ihr eigenes Dienstprogramm auf der gleichen RST Quelle der Python-Code-Blöcke und produzieren die letzten Module zu extrahieren.
Andere Tipps
Ich habe geschrieben Pweave http://mpastell.com/pweave , dass für die dynamische Erstellung von Berichten ausgerichtet ist und verwendet noweb Syntax. Es ist eine reine Python-Skript, so dass es auch unter Windows läuft. Es ist fix nicht Ihren Einzug Problem, aber vielleicht können Sie es für das ändern, ist der Code wirklich ganz einfach.
Der de-facto-Standard in der Gemeinde ist IPython Notebooks.
Ausgezeichnetes Beispiel, bei dem Peter Norvig zeigt Algorithmen, um das Reiseproblem zu lösen: http: // nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynb
Weitere Beispiele aufgeführt unter https://github.com/ipython/ipython / wiki / A-Galerie-of-interessant-IPython-Notebooks
Sie könnten org-Modus und babel-Gewirr verwenden.
Das funktioniert ganz gut, da Sie geben können. Noweb-ref Quellenblocks
Hier ist ein minimales Beispiel: aktivieren org-babel-Gewirr , dann die Datei noweb-test.org
setzen diese in:
#+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
Sie können auch verwenden, um Eigenschaften von Überschriften für den noweb-ref geben. Es kann dann auch automatisch mehrere Quellenblocks in eine noweb Referenz verketten.
:results output
auf die #+begin_src
Linie des zweiten Blocks Fügen Sie die Druckergebnisse unter diesem Block zu sehen, wenn Sie C-c C-c
im Block getroffen.
Sie können feststellen, noweb 3 einfacher auf Windows zu bauen. Es wurde entwickelt, um mehr tragbar als Standard noweb zu sein.
Siehe auch mein letztes LP-Tool: http://code.google.com/p/nano -lp . Es ist erfordert kein spezielles Eingabeformat unterstützt Markdown / Multimark, reStructuredText, Openoffice / Libreoffice, Kreolisch, TeX / LaTeX und super leicht und sauber Syntax hat -. Nicht mehr kryptische lesen und schreiben Programme
Wir haben dieses Tool nützlich zu sein: https://github.com/bslatkin/pyliterate