Error in calling Python class method from C#
Hi, I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class. Python module <Class.py> : def test(): print "Test called" return 1 class ClassTest: def __init__(self) def Initialize (): print " Initialize called" return 1 @staticmethod def Execute(): print "Execute called" return 1 C# Console Programme code snapshot : PythonEngine.Initialize(); using (Py.GIL()) { PyObject testClassModule = PythonEngine.ImportModule("Class"); //Calling module method PyObject result = testClassModule.InvokeMethod("test"); Console.WriteLine("Test method result = {0}", result.ToString()); PyObject classTest = testClassModule.GetAttr("ClassTest"); *classTest.InvokeMethod("Initialize "); -----------------------------> Error* classTest.InvokeMethod("Execute"); } PythonEngine.Shutdown();
Hello, you missed either @staticmethod decorator or the self argument for the Initialize method. Stefan From: PythonDotNet [mailto:pythondotnet-bounces+sschukat=dspace.de@python.org] On Behalf Of techi eth Sent: Wednesday, April 25, 2018 2:38 PM To: A list for users and developers of Python for .NET <pythondotnet@python.org> Subject: [Python.NET] Error in calling Python class method from C# Hi, I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class. Python module <Class.py> : def test(): print "Test called" return 1 class ClassTest: def __init__(self) def Initialize (): print " Initialize called" return 1 @staticmethod def Execute(): print "Execute called" return 1 C# Console Programme code snapshot : PythonEngine.Initialize(); using (Py.GIL()) { PyObject testClassModule = PythonEngine.ImportModule("Class"); //Calling module method PyObject result = testClassModule.InvokeMethod("test"); Console.WriteLine("Test method result = {0}", result.ToString()); PyObject classTest = testClassModule.GetAttr("ClassTest"); classTest.InvokeMethod("Initialize "); -----------------------------> Error classTest.InvokeMethod("Execute"); } PythonEngine.Shutdown();
Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static. Thanks On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de> wrote:
Hello,
you missed either @staticmethod decorator or the self argument for the Initialize method.
Stefan
*From:* PythonDotNet [mailto:pythondotnet-bounces+sschukat= dspace.de@python.org] *On Behalf Of *techi eth *Se**nt:* Wednesday, April 25, 2018 2:38 PM *To:* A list for users and developers of Python for .NET < pythondotnet@python.org> *Subject:* [Python.NET] Error in calling Python class method from C#
Hi,
I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class.
Python module <Class.py> :
def test():
print "Test called"
return 1
class ClassTest:
def __init__(self)
def Initialize ():
print " Initialize called"
return 1
@staticmethod
def Execute():
print "Execute called"
return 1
C# Console Programme code snapshot :
PythonEngine.Initialize();
using (Py.GIL())
{
PyObject testClassModule = PythonEngine.ImportModule(" Class");
//Calling module method
PyObject result = testClassModule.InvokeMethod("test");
Console.WriteLine("Test method result = {0}", result.ToString());
PyObject classTest = testClassModule.GetAttr("ClassTest");
*classTest.InvokeMethod("Initialize "); -----------------------------> Error*
classTest.InvokeMethod("Execute");
}
PythonEngine.Shutdown();
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
Any input on raised query. I think i am missing something very simple but not able to catch. Thanks On Thu, Apr 26, 2018 at 5:47 PM, techi eth <techieth@gmail.com> wrote:
Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static.
Thanks
On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de> wrote:
Hello,
you missed either @staticmethod decorator or the self argument for the Initialize method.
Stefan
*From:* PythonDotNet [mailto:pythondotnet-bounces+sschukat= dspace.de@python.org] *On Behalf Of *techi eth *Se**nt:* Wednesday, April 25, 2018 2:38 PM *To:* A list for users and developers of Python for .NET < pythondotnet@python.org> *Subject:* [Python.NET] Error in calling Python class method from C#
Hi,
I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class.
Python module <Class.py> :
def test():
print "Test called"
return 1
class ClassTest:
def __init__(self)
def Initialize ():
print " Initialize called"
return 1
@staticmethod
def Execute():
print "Execute called"
return 1
C# Console Programme code snapshot :
PythonEngine.Initialize();
using (Py.GIL())
{
PyObject testClassModule = PythonEngine.ImportModule("Cla ss");
//Calling module method
PyObject result = testClassModule.InvokeMethod("test");
Console.WriteLine("Test method result = {0}", result.ToString());
PyObject classTest = testClassModule.GetAttr("Class Test");
*classTest.InvokeMethod("Initialize "); -----------------------------> Error*
classTest.InvokeMethod("Execute");
}
PythonEngine.Shutdown();
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
You may get more feedback on stackoverflow than on this mailing list for questions like this: https://stackoverflow.com/questions/tagged/python.net?sort=newest&pageSize=50 On Fri, Apr 27, 2018 at 3:54 AM, techi eth <techieth@gmail.com> wrote:
Any input on raised query. I think i am missing something very simple but not able to catch.
Thanks
On Thu, Apr 26, 2018 at 5:47 PM, techi eth <techieth@gmail.com> wrote:
Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static.
Thanks
On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de> wrote:
Hello,
you missed either @staticmethod decorator or the self argument for the Initialize method.
Stefan
*From:* PythonDotNet [mailto:pythondotnet-bounces+sschukat= dspace.de@python.org] *On Behalf Of *techi eth *Se**nt:* Wednesday, April 25, 2018 2:38 PM *To:* A list for users and developers of Python for .NET < pythondotnet@python.org> *Subject:* [Python.NET] Error in calling Python class method from C#
Hi,
I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class.
Python module <Class.py> :
def test():
print "Test called"
return 1
class ClassTest:
def __init__(self)
def Initialize ():
print " Initialize called"
return 1
@staticmethod
def Execute():
print "Execute called"
return 1
C# Console Programme code snapshot :
PythonEngine.Initialize();
using (Py.GIL())
{
PyObject testClassModule = PythonEngine.ImportModule("Cla ss");
//Calling module method
PyObject result = testClassModule.InvokeMethod("test");
Console.WriteLine("Test method result = {0}", result.ToString());
PyObject classTest = testClassModule.GetAttr("Class Test");
*classTest.InvokeMethod("Initialize "); -----------------------------> Error*
classTest.InvokeMethod("Execute");
}
PythonEngine.Shutdown();
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
Thanks for link, I have been through most of pages but not able to found same query. I am also not sure is this possible with Pyhton For .NET. Could you please give me below query answer. Can i create python class instance in C# programme ???? On Mon, Apr 30, 2018 at 8:34 AM, Denis Akhiyarov <denis.akhiyarov@gmail.com> wrote:
You may get more feedback on stackoverflow than on this mailing list for questions like this:
https://stackoverflow.com/questions/tagged/python.net? sort=newest&pageSize=50
On Fri, Apr 27, 2018 at 3:54 AM, techi eth <techieth@gmail.com> wrote:
Any input on raised query. I think i am missing something very simple but not able to catch.
Thanks
On Thu, Apr 26, 2018 at 5:47 PM, techi eth <techieth@gmail.com> wrote:
Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static.
Thanks
On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de> wrote:
Hello,
you missed either @staticmethod decorator or the self argument for the Initialize method.
Stefan
*From:* PythonDotNet [mailto:pythondotnet-bounces+sschukat= dspace.de@python.org] *On Behalf Of *techi eth *Se**nt:* Wednesday, April 25, 2018 2:38 PM *To:* A list for users and developers of Python for .NET < pythondotnet@python.org> *Subject:* [Python.NET] Error in calling Python class method from C#
Hi,
I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class.
Python module <Class.py> :
def test():
print "Test called"
return 1
class ClassTest:
def __init__(self)
def Initialize ():
print " Initialize called"
return 1
@staticmethod
def Execute():
print "Execute called"
return 1
C# Console Programme code snapshot :
PythonEngine.Initialize();
using (Py.GIL())
{
PyObject testClassModule = PythonEngine.ImportModule("Class");
//Calling module method
PyObject result = testClassModule.InvokeMethod("test");
Console.WriteLine("Test method result = {0}", result.ToString());
PyObject classTest = testClassModule.GetAttr("Class Test");
*classTest.InvokeMethod("Initialize "); -----------------------------> Error*
classTest.InvokeMethod("Execute");
}
PythonEngine.Shutdown();
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
Iron Python is having way to do the same.Please check below link. https://stackoverflow.com/questions/579272/instantiating-a-python-class-in-c... On Mon, Apr 30, 2018 at 10:36 AM, techi eth <techieth@gmail.com> wrote:
Thanks for link, I have been through most of pages but not able to found same query. I am also not sure is this possible with Pyhton For .NET. Could you please give me below query answer.
Can i create python class instance in C# programme ????
On Mon, Apr 30, 2018 at 8:34 AM, Denis Akhiyarov < denis.akhiyarov@gmail.com> wrote:
You may get more feedback on stackoverflow than on this mailing list for questions like this:
https://stackoverflow.com/questions/tagged/python.net?sort= newest&pageSize=50
On Fri, Apr 27, 2018 at 3:54 AM, techi eth <techieth@gmail.com> wrote:
Any input on raised query. I think i am missing something very simple but not able to catch.
Thanks
On Thu, Apr 26, 2018 at 5:47 PM, techi eth <techieth@gmail.com> wrote:
Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static.
Thanks
On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de> wrote:
Hello,
you missed either @staticmethod decorator or the self argument for the Initialize method.
Stefan
*From:* PythonDotNet [mailto:pythondotnet-bounces+sschukat= dspace.de@python.org] *On Behalf Of *techi eth *Se**nt:* Wednesday, April 25, 2018 2:38 PM *To:* A list for users and developers of Python for .NET < pythondotnet@python.org> *Subject:* [Python.NET] Error in calling Python class method from C#
Hi,
I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class.
Python module <Class.py> :
def test():
print "Test called"
return 1
class ClassTest:
def __init__(self)
def Initialize ():
print " Initialize called"
return 1
@staticmethod
def Execute():
print "Execute called"
return 1
C# Console Programme code snapshot :
PythonEngine.Initialize();
using (Py.GIL())
{
PyObject testClassModule = PythonEngine.ImportModule("Class");
//Calling module method
PyObject result = testClassModule.InvokeMethod(" test");
Console.WriteLine("Test method result = {0}", result.ToString());
PyObject classTest = testClassModule.GetAttr("Class Test");
*classTest.InvokeMethod("Initialize "); -----------------------------> Error*
classTest.InvokeMethod("Execute");
}
PythonEngine.Shutdown();
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
I have got success on doing. I just need to get review to ensure right. Please find below code snapshot. Class.py def test(): print "Test called" return 1 class ClassTest: def __init__(self) def Initalize(self): print "Initalize called" return 1 @staticmethod def Execute(): print "Execute called" return 1 ------------------------------------------------------------------------------------- Programme.cs PythonEngine.Initialize(); using (Py.GIL()) { //Creating module object PyObject testClassModule = PythonEngine.ImportModule("Class"); //Calling module method PyObject result = testClassModule.InvokeMethod("test"); Console.WriteLine("Test method result = {0}", result.ToString()); Dynamic classTest = testClassModule.GetAttr("ClassTest"); Dynamic tmp = classTest(); tmp.Initalize(); tmp.Execute(); } PythonEngine.Shutdown(); return 0; } On Mon, Apr 30, 2018 at 11:35 AM, techi eth <techieth@gmail.com> wrote:
Iron Python is having way to do the same.Please check below link. https://stackoverflow.com/questions/579272/instantiating-a-python-class- in-c-sharp
On Mon, Apr 30, 2018 at 10:36 AM, techi eth <techieth@gmail.com> wrote:
Thanks for link, I have been through most of pages but not able to found same query. I am also not sure is this possible with Pyhton For .NET. Could you please give me below query answer.
Can i create python class instance in C# programme ????
On Mon, Apr 30, 2018 at 8:34 AM, Denis Akhiyarov < denis.akhiyarov@gmail.com> wrote:
You may get more feedback on stackoverflow than on this mailing list for questions like this:
https://stackoverflow.com/questions/tagged/python.net?sort=n ewest&pageSize=50
On Fri, Apr 27, 2018 at 3:54 AM, techi eth <techieth@gmail.com> wrote:
Any input on raised query. I think i am missing something very simple but not able to catch.
Thanks
On Thu, Apr 26, 2018 at 5:47 PM, techi eth <techieth@gmail.com> wrote:
Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static.
Thanks
On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de> wrote:
Hello,
you missed either @staticmethod decorator or the self argument for the Initialize method.
Stefan
*From:* PythonDotNet [mailto:pythondotnet-bounces+sschukat= dspace.de@python.org] *On Behalf Of *techi eth *Se**nt:* Wednesday, April 25, 2018 2:38 PM *To:* A list for users and developers of Python for .NET < pythondotnet@python.org> *Subject:* [Python.NET] Error in calling Python class method from C#
Hi,
I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class.
Python module <Class.py> :
def test():
print "Test called"
return 1
class ClassTest:
def __init__(self)
def Initialize ():
print " Initialize called"
return 1
@staticmethod
def Execute():
print "Execute called"
return 1
C# Console Programme code snapshot :
PythonEngine.Initialize();
using (Py.GIL())
{
PyObject testClassModule = PythonEngine.ImportModule("Class");
//Calling module method
PyObject result = testClassModule.InvokeMethod(" test");
Console.WriteLine("Test method result = {0}", result.ToString());
PyObject classTest = testClassModule.GetAttr("Class Test");
*classTest.InvokeMethod("Initialize "); -----------------------------> Error*
classTest.InvokeMethod("Execute");
}
PythonEngine.Shutdown();
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
Hello, as I mentioned in my earlier mail the “self” was missing for the instance method. The rest looks fine. Stefan From: PythonDotNet [mailto:pythondotnet-bounces+sschukat=dspace.de@python.org] On Behalf Of techi eth Sent: Monday, April 30, 2018 10:48 AM To: A list for users and developers of Python for .NET <pythondotnet@python.org> Subject: Re: [Python.NET] Error in calling Python class method from C# I have got success on doing. I just need to get review to ensure right. Please find below code snapshot. Class.py def test(): print "Test called" return 1 class ClassTest: def __init__(self) def Initalize(self): print "Initalize called" return 1 @staticmethod def Execute(): print "Execute called" return 1 ------------------------------------------------------------------------------------- Programme.cs PythonEngine.Initialize(); using (Py.GIL()) { //Creating module object PyObject testClassModule = PythonEngine.ImportModule("Class"); //Calling module method PyObject result = testClassModule.InvokeMethod("test"); Console.WriteLine("Test method result = {0}", result.ToString()); Dynamic classTest = testClassModule.GetAttr("ClassTest"); Dynamic tmp = classTest(); tmp.Initalize(); tmp.Execute(); } PythonEngine.Shutdown(); return 0; } On Mon, Apr 30, 2018 at 11:35 AM, techi eth <techieth@gmail.com<mailto:techieth@gmail.com>> wrote: Iron Python is having way to do the same.Please check below link. https://stackoverflow.com/questions/579272/instantiating-a-python-class-in-c... On Mon, Apr 30, 2018 at 10:36 AM, techi eth <techieth@gmail.com<mailto:techieth@gmail.com>> wrote: Thanks for link, I have been through most of pages but not able to found same query. I am also not sure is this possible with Pyhton For .NET. Could you please give me below query answer. Can i create python class instance in C# programme ???? On Mon, Apr 30, 2018 at 8:34 AM, Denis Akhiyarov <denis.akhiyarov@gmail.com<mailto:denis.akhiyarov@gmail.com>> wrote: You may get more feedback on stackoverflow than on this mailing list for questions like this: https://stackoverflow.com/questions/tagged/python.net?sort=newest&pageSize=50 On Fri, Apr 27, 2018 at 3:54 AM, techi eth <techieth@gmail.com<mailto:techieth@gmail.com>> wrote: Any input on raised query. I think i am missing something very simple but not able to catch. Thanks On Thu, Apr 26, 2018 at 5:47 PM, techi eth <techieth@gmail.com<mailto:techieth@gmail.com>> wrote: Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static. Thanks On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de<mailto:SSchukat@dspace.de>> wrote: Hello, you missed either @staticmethod decorator or the self argument for the Initialize method. Stefan From: PythonDotNet [mailto:pythondotnet-bounces+sschukat<mailto:pythondotnet-bounces%2Bsschukat>=dspace.de@python.org<mailto:dspace.de@python.org>] On Behalf Of techi eth Sent: Wednesday, April 25, 2018 2:38 PM To: A list for users and developers of Python for .NET <pythondotnet@python.org<mailto:pythondotnet@python.org>> Subject: [Python.NET] Error in calling Python class method from C# Hi, I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class. Python module <Class.py> : def test(): print "Test called" return 1 class ClassTest: def __init__(self) def Initialize (): print " Initialize called" return 1 @staticmethod def Execute(): print "Execute called" return 1 C# Console Programme code snapshot : PythonEngine.Initialize(); using (Py.GIL()) { PyObject testClassModule = PythonEngine.ImportModule("Class"); //Calling module method PyObject result = testClassModule.InvokeMethod("test"); Console.WriteLine("Test method result = {0}", result.ToString()); PyObject classTest = testClassModule.GetAttr("ClassTest"); classTest.InvokeMethod("Initialize "); -----------------------------> Error classTest.InvokeMethod("Execute"); } PythonEngine.Shutdown(); _________________________________________________ Python.NET mailing list - PythonDotNet@python.org<mailto:PythonDotNet@python.org> https://mail.python.org/mailman/listinfo/pythondotnet _________________________________________________ Python.NET mailing list - PythonDotNet@python.org<mailto:PythonDotNet@python.org> https://mail.python.org/mailman/listinfo/pythondotnet _________________________________________________ Python.NET mailing list - PythonDotNet@python.org<mailto:PythonDotNet@python.org> https://mail.python.org/mailman/listinfo/pythondotnet
participants (3)
-
Denis Akhiyarov
-
Stefan Schukat
-
techi eth