Integration von python in C# - Anwendung
Habe ich Folgendes problem:
Ich habe eine alte Anwendung, die in python geschrieben ist. Diese Anwendung ermöglicht es dem Benutzer, zu spezifizieren, kleine python-Schritte, die ausgeführt werden, python Schritte sind im Grunde kleine python-Skripte, ich nenne Sie die Schritte, weil die Ausführung dieser Anwendung müssen Sie andere Schritte wie z.B. dem ausführen von etwas von der Kommandozeile. Diese python-Schritte sind, werden als python-code in eine xml-Datei.
Nun möchte ich die Anwendung neu zu schreiben, die mithilfe von C# .NET. Gibt es eine best-Practice-Lösung, so etwas zu tun?
Möchte ich nicht nennen python als externes programm und übergeben Sie die aktuelle python-Schritt(Skript), um den python-interpreter - ich will, dass etwas gebaut. Ich kam gerade über IronPython und .NET, python, aber ich bin nicht ganz sicher, welche zu benutzen.
Ich möchte eine Art debugging für die kleinen Skripts, das ist, warum der Aufruf der interpreter-Lösung ist nicht akzeptabel.
Was noch wichtiger ist, dass eine Menge von diesen Scripten bereits vorhanden ist. Daher habe ich eine C# - Implementierung von python, die hat die gleiche syntax wie python sowie die gleichen eingebauten libs von python. Ist das überhaupt möglich?
Dank und Grüße
Xeun
InformationsquelleAutor Xeun | 2014-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
IronPython ist, was Sie wollen. Es kompiliert .NET-bytecode. Sie können relativ einfach anrufen python-code von anderen .NET-Sprache (und Umgekehrt). IronPython ist in Visual Studio unterstützt auch, denke ich.
Die Skripte können mit C-Erweiterungen, das ist die Zukunft. Gibt es irgendein Problem mit diesem?
Ich bin derzeit versucht, herauszufinden, wie zu fusionieren einige numpy/matplotlib in einem c# - Projekt, zur Vereinfachung der Darstellung bestimmter Daten. Ironpython zu haben scheinen, gefallen Weg hinter sich, wie Sie diese Bibliotheken nicht angezeigt werden, zur Verfügung.
Sie können versuchen, pythonnet für die C-API-Erweiterungen und neuere Python-Versionen
InformationsquelleAutor cdjc
Python-Skripte können ausgeführt werden von C# mit IronPython.
Siehe auch:
http://putridparrot.com/blog/hosting-ironpython-in-a-c-application/
und
https://blogs.msdn.microsoft.com/charlie/2009/10/25/running-ironpython-scripts-from-a-c-4-0-program/
InformationsquelleAutor FrankyHollywood
Können Sie die verwenden der IronPython-ScriptScope.GetVariable, um die eigentliche Funktion, und dann Sie können es nennen, wie ein C# - Funktion. Verwenden Sie es wie diese:
C# - code:
Python-code:
Dauerte eine Weile, um schließlich herauszufinden, und es ist ganz einfach.. Und IronPython ist kostenlos und ziemlich einfach zu bedienen. Hoffe, das hilft 🙂
InformationsquelleAutor liron