Dino Viehland wrote:
> Cool, I suspect it'll work fine on your laptop.  Do you have Orcas beta 2 
> installed or something else?
>   

Sorry - have to try this on the laptop tomorrow, time for bed now. On 
this machine I have Visual Studio 2008 beta 2.

Michael

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Foord
> Sent: Friday, November 02, 2007 4:33 PM
> To: Discussion of IronPython
> Subject: Re: [IronPython] [python] Re: Embedding CPython Messes with the 
> IronPython 2 Import Mechanism
>
> Dino Viehland wrote:
>   
>> Are you running on a beta of Orcas?  It could be an Orcas bug.
>>
>>     
> I have the Orcas beta installed (which I guess means yes).
>
> I don't have it on my laptop - I can try with that.
>
> Michael
>
>   
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dino Viehland
>> Sent: Friday, November 02, 2007 4:12 PM
>> To: Discussion of IronPython
>> Subject: Re: [IronPython] [python] Re: Embedding CPython Messes with the 
>> IronPython 2 Import Mechanism
>>
>> I'm not sure what's going on here - I've pinged the CLR dev who owns this 
>> feature.  In some patches (at some point) post v2.0.50727.42 there were some 
>> changes made to Ref.Emit w.r.t. ModuleBuilder's vs. Modules - this looks 
>> like it could be a regression related to those changes.  But I don't 
>> understand the big picture here.
>>
>> As a work around you might be able to run in -X:GenerateAsSnippets mode.  In 
>> v2.0 this results in about a 10% perf degrade (last time I measured at 
>> least, and this was against Pystone) but stops us from generating types to 
>> create modules.  So ultimately we won't create an assembly and won't go down 
>> this code path.  Of course, that may just be putting off the inevitable.
>>
>> Another possiblity might be grepping Python.NET to see if they're doing 
>> anything weird w/ Module or Assembly objects, although I wouldn't know 
>> exactly what to look for.
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Foord
>> Sent: Friday, November 02, 2007 3:33 PM
>> To: Discussion of IronPython
>> Subject: Re: [IronPython] [python] Re: Embedding CPython Messes with the 
>> IronPython 2 Import Mechanism
>>
>> You asked for it. :-)
>>
>> IronPython console: IronPython 2.0A5 (2.0.11011.00) on .NET 2.0.50727.1378
>> Copyright (c) Microsoft Corporation. All rights reserved.
>>  >>> import clr
>>  >>> clr.AddReference('Python.Runtime')
>>  >>> from Python.Runtime import PythonEngine
>>  >>> engine = PythonEngine()
>>  >>> engine.Initialize()
>>  >>> import xyzz
>> Unable to cast object of type 'System.Reflection.Module' to type
>> 'System.Reflect
>> ion.Emit.ModuleBuilder'.
>>    at System.Reflection.Emit.AssemblyBuilderData.GetInMemoryAssemblyModule()
>>    at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name,
>> Assembly
>> BuilderAccess access, String dir, Evidence evidence, PermissionSet
>> requiredPermi
>> ssions, PermissionSet optionalPermissions, PermissionSet
>> refusedPermissions, Sta
>> ckCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes)
>>    at System.AppDomain.DefineDynamicAssembly(AssemblyName name,
>> AssemblyBuilderA
>> ccess access)
>>    at Microsoft.Scripting.Generation.AssemblyGen..ctor(String
>> moduleName, String
>>  outDir, String outFile, AssemblyGenAttributes generationAttributes,
>> PortableExe
>> cutableKinds peKind, ImageFileMachine machine)
>>    at
>> Microsoft.Scripting.Generation.StaticFieldModuleGenerator.CreateModuleAsse
>> mbly(ScriptCode scriptCode)
>>    at
>> Microsoft.Scripting.Generation.StaticFieldModuleGenerator.CreateSlotFactor
>> y(ScriptCode scriptCode)
>>    at
>> Microsoft.Scripting.Generation.OptimizedModuleGenerator.CreateStorageAlloc
>> ator(ScriptCode scriptCode)
>>    at
>> Microsoft.Scripting.Generation.OptimizedModuleGenerator.GenerateScriptMeth
>> ods()
>>    at
>> Microsoft.Scripting.Generation.OptimizedModuleGenerator.GenerateScope()
>>    at Microsoft.Scripting.ScriptDomainManager.CreateModule(String name,
>> ScriptMo
>> duleKind kind, Scope scope, ScriptCode[] scriptCodes)
>>    at Microsoft.Scripting.ScriptDomainManager.CompileModule(String name,
>> ScriptM
>> oduleKind kind, Scope scope, CompilerOptions options, ErrorSink
>> errorSink, Sourc
>> eUnit[] sourceUnits)
>>    at Microsoft.Scripting.ScriptDomainManager.CompileModule(String name,
>> SourceU
>> nit sourceUnit)
>>    at IronPython.Runtime.Importer.LoadModuleFromSource(CodeContext
>> context, Stri
>> ng name, String path)
>>    at IronPython.Runtime.Importer.ImportFromPath(CodeContext context,
>> String nam
>> e, String fullName, List path)
>>    at IronPython.Runtime.Importer.ImportTopAbsolute(CodeContext context,
>> String
>> name)
>>    at IronPython.Runtime.Importer.ImportModule(CodeContext context,
>> String modNa
>> me, Boolean bottom)
>>    at IronPython.Runtime.Builtin.__import__(CodeContext context, String
>> name, Ob
>> ject globals, Object locals, Object fromList)
>>    at _stub_##2(Object[] , DynamicSite`6 , CodeContext , Object , String
>> , IAttr
>> ibutesCollection , IAttributesCollection , PythonTuple )
>>    at Microsoft.Scripting.Actions.DynamicSite`6.Invoke(CodeContext
>> context, T0 a
>> rg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
>>    at IronPython.Runtime.Operations.PythonOps.ImportTop(CodeContext
>> context, Str
>> ing fullName)
>>    at ##18(Object[] , CodeContext )
>>    at Microsoft.Scripting.ScriptCode.Run(CodeContext codeContext,
>> Boolean tryEva
>> luate)
>>    at Microsoft.Scripting.ScriptCode.Run(ScriptModule module)
>>    at Microsoft.Scripting.Hosting.CompiledCode.Evaluate(IScriptModule
>> module)
>>    at Microsoft.Scripting.Hosting.ScriptEngine.ExecuteCommand(String
>> code, IScri
>> ptModule module)
>>    at Microsoft.Scripting.Shell.CommandLine.RunOneInteraction()
>>    at Microsoft.Scripting.Shell.CommandLine.TryInteractiveAction()
>>    at IronPython.Hosting.PythonCommandLine.TryInteractiveAction()
>>    at Microsoft.Scripting.Shell.CommandLine.RunInteractiveLoop()
>> TypeError: Unable to cast object of type 'System.Reflection.Module' to
>> type 'Sys
>> tem.Reflection.Emit.ModuleBuilder'.
>>
>>  >>>
>>
>>
>> Dino Viehland wrote:
>>
>>     
>>> Could you run with -X:ExceptionDetail and report back the stack trace?  
>>> That'll let us know where the exception is actually coming from.
>>>
>>> -----Original Message-----
>>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Foord
>>> Sent: Friday, November 02, 2007 3:25 PM
>>> To: Discussion of IronPython
>>> Subject: [IronPython] Embedding CPython Messes with the IronPython 2 Import 
>>> Mechanism
>>>
>>> Hello Guys,
>>>
>>> Not sure what is going on here, nor whether it indicates a bug in
>>> IronPython, but it is certainly odd. Loading a CPython interpreter
>>> through the Python.NET assembly seems to change the IronPython (2a5)
>>> import machinery.
>>>
>>> I have a test module 'xyzz.py' that has an unused name 'wibble'.
>>> Unsurprisingly, attempting to import this into IronPython 2.0a5 raises a
>>> name error:
>>>
>>> IronPython console: IronPython 2.0A5 (2.0.11011.00) on .NET 2.0.50727.1378
>>> Copyright (c) Microsoft Corporation. All rights reserved.
>>>  >>> import xyzz
>>> Traceback (most recent call last):
>>>   File , line 0, in ##7
>>>   File , line 0, in _stub_##2
>>>   File C:\compile\cext\trunk\cext\xyzz.py, line 1, in Initialize
>>> NameError: name 'wibble' is not defined
>>>
>>>
>>> Executing the following code, (using the 'Python.Runtime' assembly from
>>> Python.NET with Python 2.4):
>>>
>>> IronPython console: IronPython 2.0A5 (2.0.11011.00) on .NET 2.0.50727.1378
>>> Copyright (c) Microsoft Corporation. All rights reserved.
>>>  >>> import clr
>>>  >>> clr.AddReference('Python.Runtime')
>>>  >>>
>>>  >>> from Python.Runtime import PythonEngine
>>>  >>> engine = PythonEngine()
>>>  >>> engine.Initialize()
>>>  >>>
>>>  >>> import xyzz
>>> Traceback (most recent call last):
>>>   File , line 0, in ##18
>>>   File , line 0, in _stub_##2
>>>   File mscorlib, line unknown, in DefineDynamicAssembly
>>>   File mscorlib, line unknown, in InternalDefineDynamicAssembly
>>> TypeError: Unable to cast object of type 'System.Reflection.Module' to
>>> type 'Sys
>>> tem.Reflection.Emit.ModuleBuilder'.
>>>
>>> Just importing the 'PythonEngine' isn't enough. The problem only happens
>>> if the PythonEngine is instantiated and initialized.
>>>
>>> All the best,
>>>
>>>
>>> Michael
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users@lists.ironpython.com
>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>> _______________________________________________
>>> Users mailing list
>>> Users@lists.ironpython.com
>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>>
>>>
>>>
>>>       
>> _______________________________________________
>> Users mailing list
>> Users@lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>> _______________________________________________
>> Users mailing list
>> Users@lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>> _______________________________________________
>> Users mailing list
>> Users@lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>>     
>
> _______________________________________________
> Users mailing list
> Users@lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> _______________________________________________
> Users mailing list
> Users@lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>   

_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to