[Python.NET] Python 2.5 compatibility and interop.cs
Brian Lloyd
brian.lloyd at revolution.com
Mon Jul 2 17:18:38 CEST 2007
I'm pretty sure there were some changes to type structures in 2.5, so
probably the only sane thing to do would be to do a 2.5-specific branch :(
The interop stuff is some fairly deep voodoo - it essentially generates a
bunch of thunks and wrappers matching the in-memory layouts of various
python type objects and things. What would need to be done is an assessment
of what changed in 2.5, then go into interop and change / add offsets etc.
accordingly. I can say with some experience that it won't be fun ;)
My available time (and the fact that IronPython gets 99% of the oxygen
these days) means that I probably won't be able to get to this any time
soon, but I'd be more than happy to help anyone who wants to take this on
in any way I can.
-Brian
On 7/1/07 5:33 PM, "Christian Heimes" <lists at cheimes.de> wrote:
> Hello!
>
> I want to the pythonnet with Python 2.5 and .NET 2.0. So far I was able
> to fix the svn trunk revision 42 for .NET 2.0 using the tutorial from
> http://thread.gmane.org/gmane.comp.python.dotnet/576. I had to change
> clrModule to ModuleObject but it works under Python 2.4.
>
> Python 2.5 however doesn't work. I changed the dll in runtime.cs to
>
> internal static string dll = "python25";
>
> in the hope that pythonnet doesn't need more changes. At first it looked
> promising. I was able to import clr and some other .NET assemblies.
> However using them is a different story. Python crashes everytime I try
> to use an object from an assembly.
>
> I compiled my own Python version in order to debug the error. It fails
> in typeobject.c:387
>
> name = type_name(type, NULL);
>
> with an access violation. Something is trying to write to 0x00000000.
>
> I studied the pythonnet code a bit and I guess I have to alter
> interop.cs in order to make pythonnet compatible with Python 2.5. I
> don't know how it has to be changed and what it causing the error. Maybe
> ssize_t -> Py_ssize_t transition (I'm using a 32 bit Windows XP SP2)?
>
> Christian
More information about the PythonDotNet
mailing list