Are you seeing any web requests to get the .py file from the server instead of 
the XAP?

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Michael Foord
Sent: Monday, May 18, 2009 9:27 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Access to current Python engine in C# (Silverlight)

Ha - dammit, no.

With Silverlight this still throws an ImportError when embedded Python
code executed from C# like this tries to import from the xap file. :-(

Michael

Michael Foord wrote:
> Thanks to some help from William Reade, this code *seems* to work
> fine. I need to try it from Silverlight and check the Python code it
> contains is able to import:
>
> using System;
> using System.Collections.Generic;
> using System.Text;
>
>
> using IronPython.Hosting;
> using IronPython.Runtime;
> using IronPython.Runtime.Types;
>
> using Microsoft.Scripting;
> using Microsoft.Scripting.Hosting;
> using Microsoft.Scripting.Runtime;
>
>
> namespace ExecutePython
> {
>    public class ExecutePython
>    {
>        static string code = @"
> class Foo(object):
>    attribute = 'weeeee'
>
> ";
>        public static Scope CreateModule(CodeContext context)
>        {
>            PythonContext python = PythonContext.GetContext(context);
>
>            PythonDictionary globals = new PythonDictionary();
>            globals["__name__"] = "AModule";
>            Scope module = new Scope(globals);
>            SourceUnit script = python.CreateSnippet(code,
> SourceCodeKind.Statements);
>            script.Execute(module);
>            return module;
>        }
>    }
> }
>
>
> All the best,
>
>
> Michael
>
>
> Michael Foord wrote:
>> Jimmy - did you get a chance to look at this?
>>
>> If the code shown below *genuinely* gets a reference to the current
>> engine then shouldn't the search path be setup already?
>>
>> Can you see what is wrong with the code below?
>>
>> Thanks
>>
>> Michael
>>
>> Michael Foord wrote:
>>> Hello guys,
>>>
>>> I have a second use case for embedding IronPython in Silverlight.
>>> This is actually a dynamic application with a C# component that
>>> needs to programattically build a Python module.
>>>
>>> Again I have the same problem - imports in Python code fail. I would
>>> have expected that accessing the current runtime and fetching a
>>> Python engine would fetch the current Python engine, with the
>>> browser host correctly setup. Unfortunately that seems not to be the
>>> case. Can anyone spot problems with the following code:
>>>
>>>
>>> using Microsoft.Scripting.Silverlight;
>>> using IronPython;
>>> using IronPython.Hosting;
>>> using Microsoft.Scripting;
>>> using Microsoft.Scripting.Hosting;
>>>
>>> namespace EmbeddedSLModule
>>> {
>>>    public class EmbeddedSLModule
>>>    {
>>>        private static string source = @"
>>> import something
>>> ";
>>>        public static ScriptScope GetModule(){
>>>            ScriptRuntime runtime = DynamicApplication.Current.Runtime;
>>>            ScriptEngine engine = runtime.GetEngine("Python");
>>>            ScriptScope scope = engine.CreateScope();
>>>            ScriptSource script =
>>> engine.CreateScriptSourceFromString(source, SourceCodeKind.Statements);
>>>            script.Execute(scope);
>>>
>>>            return scope;
>>>
>>>        }
>>>    }
>>> }
>>>
>>>
>>> It works fine for code that doesn't import anything - but imports
>>> from within the xap file fail.
>>>
>>> Thanks
>>>
>>> Michael Foord
>>>
>>
>>
>
>


--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog


_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to