IPython, Sage, Abhängigkeiten, Anaconda und Paketintegration?

Ich habe gerade damit begonnen, IPython für die interaktive Entwicklung und Erkundungsforschung zu verwenden, was ich mit all den coolen Funktionen und Möglichkeiten sehr aufregend fand. Ich verwende den Anaconda-Paket-Manager zum Verwalten von Abhängigkeiten, einschließlich IPython.

Nach dem, was ich gelesen habe, besteht ein Ziel des IPython-Teams darin, Sage Math (CAS) als Zellmagie in IPython zu integrieren. Weiß jemand, ob dies noch in der Entwicklung ist? Oder, wenn ich Sage jetzt verwenden wollte, ist das Schreiben einer Erweiterung die einzige Möglichkeit, dies zu tun [1]?

[1]https://github.com/ipython/ipython/wiki/Extensions-Index

Wenn ich zusätzliche Pakete für die wissenschaftliche Entwicklung installiere, die nicht in der Anaconda-Distribution enthalten sind, ist das dann so einfach wie Pip oder muss ich ein Anaconda-Paket erstellen, um mit Abhängigkeiten umzugehen, und so weiter? Wenn ich nur IPython verwenden würde, könnte ich verstehen, wie in den Dokumenten empfohlen, easy_install oder pip auszuführen, aber ich glaube, dass vorhandene Abhängigkeiten in Anaconda überschrieben werden. Wie wirkt sich das auf Anaconda-Abhängigkeiten aus, wenn ich nicht in einer Anaconda-Umgebung installiere, die meiner Meinung nach virtualenv.py entspricht, und kann auf diese Weise auch die Revisionskontrolle (d. H. Mercurial) eingerichtet werden?

Zur Verdeutlichung möchte ich IPython nicht in Sage ausführen, sondern Sage als CAS in IPython ausführen. Ich würde lieber den weisen Ansatz wählen, domänenspezifische Sprachen zu integrieren. Oder werden IPython-Erweiterungen im Gegensatz dazu Sage ersetzen?

Ich bin ein Autodidakt, kein professioneller Softwareentwickler. Als Ingenieur bin ich an Matlab, Mathematica und kommerzielle Lösungen gewöhnt, mit denen ich die Klempnerarbeiten abstrahieren kann. Ich versuche, mich darauf zu konzentrieren, alles zusammenzubringen, aber es ist wie eine Mischung aus Spaghettisuppe und einer dynamischen Linkbibliothek, weil mir das Wissen fehlt. Ich benutze wahrscheinlich den falschen Ansatz.

Was ich möchte, ist Anaconda / Enthought-Paketverwaltung (IPython, Pandas usw.), benutzerdefiniertes Rolling Sage durch Hooks / Erweiterungen oder Magics, Erweiterungen für Pakete, die nicht in Anaconda enthalten sind (z. B. Matlab, siehe [1] oben), und Versionskontrolle mit Git und Mercurial. Wie würden professionelle Entwickler dies auf einem Mac oder einer Linux-Box einrichten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage