[Python.NET] Fwd: PythonNET 2.0 Alpha2 and .NET 4.0
btribble at ea.com
Sat Jan 8 01:26:22 CET 2011
From: pythondotnet-bounces+btribble=ea.com at python.org [mailto:pythondotnet-bounces+btribble=ea.com at python.org] On Behalf Of Barton
Sent: Friday, January 07, 2011 1:02 AM
To: Oleksii Bidiuk
Cc: pythondotnet at python.org
Subject: Re: [Python.NET] Fwd: PythonNET 2.0 Alpha2 and .NET 4.0
I've got this working on my private (for the moment) branch. I could do this merge by this weekend if folks will find it useful.
On 1/6/2011 6:59 AM, Oleksii Bidiuk wrote:
thanks for your prompt repsonse. In Python terms String('A') means constructor with a string parameter AFAIK. When I use the python.exe build against CLR 2.0 (from pythonnet-2.0-alpha2-clr2.0_115_py26.zip) it works, but then it talks against .NET 2.0 while I want to talk to the same 4.0 version as my .NET application.
With the example below using the .NET 2.0 version I get
>>> s = String.__overloads__[Char, Int32]('A', 10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'String' has no attribute '__overloads__'
Basically it seems that the version of python for .net compiled against .NET 4.0 runtime does not work out of box for me. I wonder if somebody had more luck with this.
2011/1/6 Alla Gofman <Alla.Gofman at sandisk.com<mailto:Alla.Gofman at sandisk.com>>
I have no experience with importing .net modules into Python.
I work on embedding Python into C#.
There is no such constructor String('A') for String class as you use, which gets char.
You can see which constructors exists in: http://msdn.microsoft.com/en-us/library/system.string.string.aspx
I read in http://pythonnet.sourceforge.net/readme.html
In most cases, Python for .NET can determine the correct constructor to call automatically based on the arguments. In some cases, it may be necessary to call a particular overloaded constructor, which is supported by a special "__overloads__" attribute on a class:
from System import String, Char, Int32
s = String.__overloads__[Char, Int32]('A', 10)
I hope you succeed,
From: pythondotnet-bounces+alla.gofman=sandisk.com<http://sandisk.com>@python.org<http://python.org> [mailto:pythondotnet-bounces+alla.gofman<mailto:pythondotnet-bounces%2Balla.gofman>=sandisk.com<http://sandisk.com>@python.org<http://python.org>] On Behalf Of Oleksii Bidiuk
Sent: Thursday, January 06, 2011 4:27 PM
To: pythondotnet at python.org<mailto:pythondotnet at python.org>
Subject: [Python.NET] PythonNET 2.0 Alpha2 and .NET 4.0
I am trying to use Python for .NET under VS2010 and .NET 4.0. I've downloaded the pythonnet-2.0-alpha2.zip and changed the project settings to use .NET 4.0 under VS2010 and recompiled everything. The resulting python.exe can be run, and statements like "import clr" and "from System import String" work (as the Python standard library calls as well) until I try to instantiate a class as e.g.
s = String('A')
At this moment the Python for .NET seem to crash in nativecall.cs at NativeCall.Call_3() at (the only) line
return Impl.Call_3(fp, a1, a2, a3);
with dreaded "Exception of type 'System.ExecutionEngineException' was thrown.". Trying to instantiate Int32() object results in "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Suggestions are more than welcome! Thanks in advance!
PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
Python.NET mailing list - PythonDotNet at python.org<mailto:PythonDotNet at python.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PythonDotNet