Al usar IronPython alojado, la variable especial __name__
devuelve como <module>
en lugar de __main__
. Encontré algo de discusión aquí: http://lists.ironpython.com/pipermail/users-ironpython.com/2006-August/003274.html. Pero no sé cómo aplicarlo a mi código:¿Cómo configuro __name__ a '__main__' cuando uso IronPython alojado?
public static void RunPythonFile(string filename)
{
// This is the Key to making sure that Visual Studio can debug
// the Python script. This way you can attach to 3dsMax.exe
// and catch exceptions that occur right at the correct location
// in the Python script.
var options = new Dictionary<string, object>();
options["Debug"] = true;
// Create an instance of the Python run-time
var runtime = Python.CreateRuntime(options);
// Retrive the Python scripting engine
var engine = Python.GetEngine(runtime);
// Get the directory of the file
var dir = Path.GetDirectoryName(filename);
// Make sure that the local paths are available.
var paths = engine.GetSearchPaths();
paths.Add(dir);
engine.SetSearchPaths(paths);
// Execute the file
engine.ExecuteFile(filename);
}