[IronPython] import issue

Tomas Matousek Tomas.Matousek at microsoft.com
Tue Jan 27 22:04:55 CET 2009

BTW, I've submitted a change recently (it should be already available on CodePlex) that allows you to simplify the below code to:

ScriptEngine engine = IronPython.Hosting.Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
engine.Execute("import re", scope);

or if you don't need to inspect the scope you can omit it as well:

ScriptEngine engine = IronPython.Hosting.Python.CreateEngine();
engine.Execute("import re");

The Execute method now uses SourceCodeKind.AutoDetect as a default value. Python parser recognizes this new value and parses the code regardless of whether it is an expression, a single statement or multiple statements. The value returned by Execute is either the value of the expression (if the code is in fact an expression), the value of the last expression statement (if available) or null otherwise.

You can still use an explicit parameter to CreateScriptSourceFromString that restricts the kind to expression, statement, etc.


From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Curt Hagenlocher
Sent: Tuesday, January 27, 2009 11:17 AM
To: Discussion of IronPython
Subject: Re: [IronPython] import issue

The most likely explanation is that you're missing a reference to IronPython.Modules.dll.
On Tue, Jan 27, 2009 at 11:14 AM, Janofsky, Steven <Steven.Janofsky at webloyalty.com> wrote:
Does anyone know why the following gives 'No module named re' error:

ScriptEngine engine = IronPython.Hosting.Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
ScriptSource src = engine.CreateScriptSourceFromString( "import re", Microsoft.Scripting.SourceCodeKind.Statements );
src.Execute( scope );
This transmission may contain information that is privileged, confidential and exempt from disclosure under applicable law.  If you, users at lists.ironpython.com, are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED.  If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format.  [clavin.webloyalty.com]

Users mailing list
Users at lists.ironpython.com

More information about the Ironpython-users mailing list