Si su código python se puede ejecutar a través de IronPython, este es definitivamente el camino a seguir: ofrece la mejor interoperabilidad y significa que podrá usar objetos .Net en sus scripts.
Hay muchas formas de invocar scripts de IronPython desde C#, desde compilar el script como ejecutable hasta ejecutar un único archivo de script o evento ejecutando dinámicamente expresiones a medida que el usuario escribe - verifique la documentación y publique otra pregunta si aún tienes problemas
Si su script es un script de CPython y no se puede adaptar para trabajar con IronPython, entonces sus opciones son más limitadas. Creo que existe alguna interoperabilidad de CPython/C#, pero no pude encontrarla después de una búsqueda rápida en Google. Lo mejor que se me ocurre es invocar el script directamente usando python.exe
y la clase Process
.
try http://pythonnet.github.io/ – denfromufa