Pythonnet bringt Python zu Microsoft .Net

Das Pythonnet-Paket bietet Python-Entwicklern Interoperabilität zwischen der .Net Common Language Runtime von Microsoft und der CPython-Implementierung der Sprache.

Mit dem Paket, das auch als Python für .NET bezeichnet wird, können Entwickler .NET-Anwendungen skripten oder ganze Anwendungen in Python erstellen. Dabei werden .NET-Dienste und -Komponenten verwendet, die in einer beliebigen Sprache für die CLR erstellt wurden. Es bietet auch ein Anwendungsskript-Tool und ermöglicht die Einbettung von Python-Code in eine .NET-Anwendung. Es gibt jedoch Einschränkungen.

„Beachten Sie, dass dieses Paket nicht nicht implementieren Python als First-Class - CLR Sprache - es nicht verwaltetem Code (IL) aus Python - Code erzeugen“ , die GitHub Beschreibung Notizen. "Es handelt sich vielmehr um eine Integration der CPython-Engine in die .Net- oder Mono-Laufzeit."

Entwickler können somit CLR-Dienste und vorhandenen Python-Code und C-basierte Erweiterungen verwenden, während sie weiterhin native Ausführungsgeschwindigkeiten für Python-Code haben. Das Pythonnet-Team arbeitet an der CLR-Unterstützung und möchte, dass Pythonnet so funktioniert, wie es in Python zu erwarten ist, mit Ausnahme von Fällen, die .NET-spezifisch sind. In diesem Fall soll die Arbeit so erfolgen, wie es Entwickler in C # erwarten würden.

Unter Windows unterstützt Pythonnet Version 4.0 der .Net CLR und funktioniert mit Mono, dem plattformübergreifenden Open Source .Net Framework, Linux und MacOS. Für eine reine Managed-Code-Implementierung von Python empfehlen Pythonnet-Entwickler IronPython, eine Open-Source-Version von Python, die in das .NET Framework integriert ist.

Pythonnet ist ein weiteres Beispiel für die wachsende Beliebtheit von Python, das durch seine Verwendung in Anwendungen mit künstlicher Intelligenz einen Schub erfahren hat und für seine Benutzerfreundlichkeit gelobt wurde. Google hat mit seinem kürzlich durchgeführten Grumpy-Projekt begonnen, Python mit der Go-Sprache des Suchriesen zu verbinden.