I'm just starting to look at PTVS and it looks good, but I can't figure out how to do what I want, or if it is even possible.
What I have right now:
A C# application that manages various Linux machines to initiate builds, copy files around etc. It is really a companion app to a VS plugin I wrote for my dev environment. This C# application has a lot of hard-coded steps it performs on remote hosts via SSH. This is hard to maintain as things get more complex over time.
What I want:
I want to break out these remote steps into Python scripts so that the C# application can call these scripts. This will make it easier to maintain.
So basically I want the ability to run Python scripts from within the C# application. I know that I can simply use a new Process to start an external Python scripts, however I don't think that would allow me to debug the Python script (or does it?).
Also, I would like to stick to CPython and not use IronPython. Supposedly PTVS supports CPython better than it does IronPython. This is good because my company uses Python a lot and I'd like to eventually integrate some of the existing scripts into the C# app. This might be easier to do if I use CPython instead of IronPython I think. Also, I might be wrong, but it seems since PTVS supports any Python interpreter, that IronPython is basically deprecated (?).
Anyway, back to my problem... After a lot of searching, I still can't figure out how to run a Python script from within the C# application. This seems easy when using IronPython as you simply add "using IronPython.Hosting" and then use Python.CreateEngine().
However, when not using IronPython, How do I run the Python scripts from within C#?