First need to consider which Python is needed:
-
If the standard Python interpreter (“CPython”) is needed, need to consider it is a “native” non-CLR application and therefore handling of native code is necessary. This is the recommended route because it makes best use of the wealth of Python packages – one of the greatest benefits of Python.
-
If non-standard Python is acceptible, can consider projects such as IronPython. This is not recommended because of lack of support and standard conformance
Next consider how tight of a coupling is needed:
-
For tightest coupling with highest efficiency and simplicity, consider embedding Python directly into the NET process, e.g., with PythonNet. See this article.
-
For looser connectivity can consider technologies like: